BC 中大于 16 的底数是多少?

BC 中大于 16 的底数是多少?

我最近读到了关于 bc 的内容,发现它支持 999 的底数。谁能指点一下 bc 的数字集(底数大于 16)。

答案1

这包含在手册页bc

对于大于 16 的基数,bc 使用多字符数字方法打印数字,其中每个较高的基数数字都打印为基数 10 数字。多字符数字由空格分隔。每个数字包含表示“obase-1”的十进制值所需的字符数。

答案2

是的,bc 可以处理基数最大为 999 的数字。

举个例子:

$ echo "ibase=10;obase=40;3*40^2+7" | bc
03 00 07

或者,应该是“307” = 3*40^2 + 0*40^1 + 7*40^0。或者十进制的 4807。

$  echo "ibase=10;obase=10;3*40^2+7" | bc
4807

因此,这些值被打印为两位数(十进制)数字,并以空格作为分隔符。
其他一些例子:

$ echo "ibase=10;obase=530;371*530^9+222*530^3+127" | bc
371 000 000 000 000 000 222 000 000 127

或者,也许(在 bash 中)是相同的数字:

$ bc <<<"obase=530;1224212292558591376050694127"
371 000 000 000 000 000 222 000 000 127

相关内容