[SP-pm] Dúvidas sobre a Representação de Dados [Was: Do Delphi para Perl - Array ...]

Luis Motta Campos luismottacampos at yahoo.co.uk
Fri Jul 10 17:16:45 PDT 2009


Claudio wrote:
> É na verdade simplificaria , mas ...
> ___________________________________________
> 
> Esqueci de comentar ..meus campos tem dois fomatos básicos.
> 1 - é o código que pod ir de 1...99999. o usuário defini.
> 2 - é numérico: Real, Int e word..
> estes quatro tipos eu transformo no array boolean...
> ___________________________________________
> 
> Veja um  comparativo:
> 
> uma única record com 05 campos, sendo:
> 1 - campoA Boolean  02 códigos - tamanho 02 byts
> 2 - campoB Boolean  10 códigos - tamanho 10 byts
> 3 - campoC Boolean  05 códigos - tamanho 05 byts
> 4 - campoD Boolean  03 códigos - tamanho 03 byts
> 5 - campoE Real       --               - tamanho 48 byts
>                                                  ------------------------
> tamanho total                                             68 byts..
> 
> Conteudo da record.
> A,B,C,D,E
> 2,1/5/8,2,1/2/3,5292.32
> 
> Veja:                      tamanho do arquivo ficou em:
> - no meu formato    9 bytes.
> - no txt                  23 bytes.      2,1/5/8,2,1/2/3,5292.32
> - no txt                  68 
> bytes.      01100010010001000111101100011001010000111010111100010100011010100100
>  
> vamos nos falando,

Cláudio,

Eu li e reli o seu email diversas vezes, mas não consegui compreender
como os dados apresentados (que eu reproduzo abaixo) podem se encaixar
nos tamanhos de campos que você tem.

A == "2,1"       (tamanho  2 bits)
B == "5"         (tamanho 10 bits)
C == "8,2,1"     (tamanho  5 bits)
D == "2"         (tamanho  3 bits)
E == "3,5292.32" (tamanho 48 bits)

Eu honestamente não sei como interpretar o campo "E", por exemplo:
aquilo é supostamente um número, ou é uma lista que contém um inteiro e
um número de ponto flutuante sem sinal no padrão IEEE 754?

Também não fica claro, a partir dos seus exemplos de formato, se você
usa a convenção /little endian/ ou /big endian/ para os seus dados em
formato binário.

Finalmente, não consigo compreender como é que tanto o número de ponto
flutuante "2.1" ou a lista de inteiros "2, 1" pode caber em apenas 2
bits. Ou eu estou errado, "byt" era para ser "byte" (8 bits) e o campo
"E" tem o tamanho incorreto?

Agradeço com antecedência pelas explicações.

Putamplexos.
-- 
Luis Motta Campos is a software engineer,
Perl Programmer, foodie and photographer.



More information about the SaoPaulo-pm mailing list