od imprime valor extra [fechado]

1

Eu tenho um arquivo binário contendo flutuadores de 4 bytes. Eu quero imprimir esses carros alegóricos usando od . No entanto, od imprime um valor adicional na primeira posição. O que está acontecendo aqui?

O arquivo é assim:

xxd test | head -1

0000000: 932a 6541 7cdf 6b41 6c7e 7141 d779 7641 .*eA|.kAl~qA.yvA

od imprime isso:

cat test | od -f -An -v -w4 | head -2

   14,322894
   14,742062

O primeiro valor impresso (14.32) é não o primeiro valor no arquivo. O segundo valor impresso (14.74) é o primeiro valor real do arquivo. Eu verifiquei com vários editores hexadecimais que

932a 6541

é 14.74206 (ou um valor muito próximo disso). Então, onde está od obtendo o valor extra (14.32) de? Isso também acontece quando todas as outras opções são omitidas:

cat test | od -f | head -2

0000000 14,322894 14,742062 15,093365 15,404746

0000020 15,652825 15,938543 16,25734 16,616056

    
por Andreas Unterweger 01.03.2016 / 11:30

1 resposta

0

od está correto. Baseei minha saída esperada em dois editores hexadecimais que mostravam um valor de ponto flutuante diferente daquele que eu selecionei. Obrigado, @schily, por apontar que os primeiros quatro bytes realmente representam 14.32 e que od está correto.

    
por 01.03.2016 / 13:56

Tags