Od

od 列印額外的價值

  • March 1, 2016

我有一個包含 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

od是正確的。我的預期輸出基於兩個十六進制編輯器,它們顯示了一個浮點值,而不是我選擇的那個。謝謝@schily 指出前四個字節實際上代表 14.32,od因此這是正確的。

引用自:https://unix.stackexchange.com/questions/266723