
我一直在使用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