【问题标题】:bc command acts strange on obase=10bc 命令对 obase=10 的行为很奇怪
【发布时间】:2013-01-26 21:19:31
【问题描述】:

今天我发现了 'bc' linux 命令,并在使用 outputbase 10 计算时发现了一个奇怪的行为。

echo "ibase=16;obase=9;AFBE" | bc
67638

echo "ibase=16;obase=11;AFBE" | bc
09 02 11 08

echo "ibase=16;obase=10;AFBE" | bc
AFBE

嗯,命令 1 和 2 是正确的,但第三个命令只是打印输入值。

echo "ibase=16;AFBE" | bc
44990

给出正确的结果。

这种行为有什么原因吗?

【问题讨论】:

标签: linux bc


【解决方案1】:

你不是first person to be caught by this。 显然你需要设置obase 之前 ibase:

echo "obase=10;ibase=16;AFBE" | bc
44990

【讨论】:

    【解决方案2】:

    显然,bc 在读取 obase 时使用了您的 ibase:这就是为什么 obase=10 总是意味着“与 ibase 相同”。

    在最新示例中,您不提供 obase=10(这会将值设置为十进制 16),这就是为什么 obase 仍然是默认值(十进制 10)。

    【讨论】:

      猜你喜欢
      • 2022-12-06
      • 1970-01-01
      • 2012-04-11
      • 2015-03-28
      • 1970-01-01
      • 2012-04-05
      • 2013-01-03
      • 2012-06-21
      • 2022-01-05
      相关资源
      最近更新 更多