使用dc更改shell脚本中的输入基数?

时间:2011-10-14 19:52:54

标签: shell dc

我正在尝试在shell脚本中使用dc更改输入和输出基数。我写下确切的命令时遇到了麻烦。我没有BASH。

我尝试过这方面的变化:(输入麻木)2i 10o p |直流

1 个答案:

答案 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将输入设置为十六进制之后,10i10解释为十六进制数并将输入基数设置为16(并且16i尝试将其设置为0x16或22,这是非法的。

事实上,我看到自己遇到了这个问题。我的意思是将输出基数设置为16.我应该写Ao p 2o p而不是10o p 2o p。我会留下它来说明这个问题。