web-dev-qa-db-ja.com

bcは16進数の計算をサポートしていますか?

hexの計算をbcで直接実行しようとしていますが、すでにスケールを指定しています。

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

しかし、私はまだゼロを取得します。何が悪いのでしょうか?

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

大文字の16進数字のみがサポートされていることに注意してください。小文字の数字は関数名や変数名と競合するため、例(var1 - var2

16進数でも回答が必要な場合は、obase変数を設定するだけです。

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

PS:FYI scaleは変換ベース用に設計されていません。 man bc

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