我正在尝试在shell脚本中使用dc更改输入和输出基数。我写下确切的命令时遇到了麻烦。我没有BASH。
我尝试过这方面的变化:(输入麻木)2i 10o p |直流
答案 0 :(得分:1)
The dc
man page使用术语“基数”,而不是“基数”;这可能会帮助您搜索信息。
您必须在之前设置输入基数,为其提供输入编号。例如:
echo 100 2i p | dc
打印100
(十进制),因为当dc
看到输入值100
时,基数仍设置为默认值10(十进制)。
试试这个:
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
。我会留下它来说明这个问题。