bc: 為什麼`ibase=16;奧基=10; FF` 回傳 FF 而不是 255?

bc: 為什麼`ibase=16;奧基=10; FF` 回傳 FF 而不是 255?

我一直在使用bc二進位到十六進位、八進位到十進制等之間的數字轉換。

在下面的範例中,我嘗試將 16 進制(十六進位)數字轉換為二進制、八進制和十進制。

我的前兩次嘗試沒有任何問題。

$ echo 'ibase=16; obase=2; FF' | bc  
11111111
$ echo 'ibase=16; obase=8; FF' | bc 
377

但是當我嘗試將 16 進制(十六進制)數字轉換為 10 進制(十進制)時,我得到了錯誤的答案。答案應該是255

$ echo 'ibase=16; obase=10; FF' | bc 
FF

答案1

完成後ibase=16,進一步輸入數字為十六進制,包括10obase=10其中代表十進制值 16。

$ echo 'obase=10; ibase=16; FF' | bc
255
$ echo 'ibase=16; obase=A; FF' | bc
255

相關內容