Por que o cálculo do valor decimal está errado?

0

Esta questão está relacionada com a resposta da enzotib à pergunta: Como eu poderia usar o Bash para encontrar 2 bytes em um arquivo binário, aumentar seus valores e substituir?

Isso converte os dois bytes em seu valor hexadecimal:

$ echo -n $'\x1b\x1f' | od -tx2
0000000 1f1b
0000002

Mas agora, isso deve me dar o valor decimal:

echo -n $'\x1b\x1f' | od -tu2
0000000  7963
0000002

Mas se eu converter o valor hexadecimal em decimal, deve ser

$ printf "%d" 0x1b1f
6943

Por que isso? Estou usando od errado para saída decimal?

    
por erik 30.08.2013 / 23:48

1 resposta

4

Você está executando od em uma máquina little-endian .

>>> 0x1f1b
7963
    
por 31.08.2013 / 00:18

Tags