Bc

bc 是否支持十六進制計算?

  • November 29, 2020

我正在嘗試hex直接使用 進行計算bc,我已經指定了比例。

echo 'scale=16;c06b1000-c06a5e78' | bc

但我仍然得到一個零。有什麼問題?

echo 'ibase=16;C06D1000-C06A5E78' | bc
176520

請注意,僅支持大寫十六進制數字,因為小寫數字會與函式和變數名稱衝突,這就是您在範例中得到 0 的原因 ( var1 - var2)

如果您也需要十六進制的答案,只需設置obase變數:

echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188

PS:僅供參考scale不是為轉換基礎設計的。來自man bc

scale defines how some operations use digits after the decimal point.
The default value of scale is 0.

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