我正在尝试在 shell 脚本中使用 dc 更改输入和输出基础。我无法写下确切的命令。我没有 BASH。
我已经尝试过这个:(输入麻木)2i 10o p | 直流
dc
手册页使用术语“基数”,而不是“基数”;这可能会帮助您搜索信息。
在给它一个输入数字之前,您必须设置输入基数。例如:
echo 100 2i p | dc
打印100
(十进制),因为dc
看到输入值时基数仍设置为默认值 10(十进制) 100
。
试试这个:
echo 16i DEADBEEF 10o p 2o p | dc # but see below
输出是:
DEADBEEF
11011110101011011011111011101111
请注意,十六dc
进制数字似乎需要大写A
...... F
你必须小心基数规范;16i
将输入设置为十六进制后,将其10i
解释10
为十六进制数并将输入基数设置为 16(并16i
尝试将其设置为 0x16 或 22,这是非法的)。
事实上,我发现我自己也遇到了这个问题。我的意思是将输出基数设置为 16。我应该写Ao p 2o p
而不是10o p 2o p
. 我将保持原样以说明问题。