私は好奇心旺盛バグつまずいた、私は思う:BCと、それはIBASE/obaseでオプションです:
私はベース6と、ベース16として出力をする番号として「512」を読み取ろうとしました:
echo "ibase=6;obase=16;512" | bc
161
ご覧のとおり、出力は161ですが、bc
(sic!)にする必要があります。私はベース10で試した:
echo "ibase=6;obase=10;512" | bc
512
値は変更されていません。興味深い!デフォルトのobaseは10です。省略した場合:
echo "ibase=6;512" | bc
188
これは正しいと思われます。 2つの段階のプロセスでは、それが動作:
echo "obase=16;"$(echo "ibase=6;512" | bc) | bc
BC
だから私は、別の拠点のためのスクリプトを作ったが、それは私が困惑し続ける:
for ib in {6,8,10,16}; do echo $ib; for ob in {10,16}; do echo -en $ib $ob" \t => " ; echo "ibase=$ib;obase=$ob;333" | bc ; done; done;
6
6 10 => 333
6 16 => 108
8
8 10 => 333
8 16 => 119
10
10 10 => 333
10 16 => 14D
16
16 10 => 333
16 16 => 01 15 05
私はバグレポートを提出しなければならない、または私は明白なことを欠場か?そのような基本的なツールが壊れているとは本当に信じられません。