ここでは、コマンドライン電卓とドキュメントを使用して計算を実行する方法を読んでいますが、それでも予想される結果が得られず、エラーが見つかりませんでした。シェルで実行した操作は次のとおりです。
bc << HERE
>ibase=2
>obase=16
>1001
>HERE
100
2進数1001は16進数9なので、結果として9が出ると予想して100が出ました。
ベストアンサー1
入力ベースを最初に設定し、出力ベースを設定すると、16は入力ベース(2)として解釈されます。この場合、6
inは16
単にバイナリビットとして解釈されるように見える1
ため、出力ベースはバイナリ11または10進3に設定されます。
この問題を解決するには、入力ベースを設定する前に出力ベースを設定できます。
echo 'obase=16; ibase=2; 1001' | bc