od 打印额外值

od 打印额外值

我有一个包含 4 字节浮点数的二进制文件。我想使用 打印这些浮点数od但是,od在第一个位置打印一个附加值。这里发生了什么?

该文件如下所示:

xxd test | head -1

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

od打印这个:

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

   14,322894
   14,742062

第一个打印值 (14.32) 是不是文件中的第一个值。第二个打印值 (14.74) 是文件中的实际第一个值。我与几个十六进制编辑器验证了

932a 6541

是 14.74206(或非常接近该值的值)。那么od额外的值(14.32)从哪里得到呢?当省略所有其他选项时也会发生这种情况:

cat test | od -f | head -2

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

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

答案1

od是正确的。我的预期输出基于两个十六进制编辑器,它们显示的浮点值与我选择的不同。谢谢 @schily,您指出前四个字节实际上代表 14.32,因此这od是正确的。

相关内容