[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