0

我正在尝试在 shell 脚本中使用 dc 更改输入和输出基础。我无法写下确切的命令。我没有 BASH。

我已经尝试过这个:(输入麻木)2i 10o p | 直流

4

1 回答 1

1

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. 我将保持原样以说明问题。

于 2011-10-14T21:21:17.977 回答