Linux 命令 - bc

Linux 中,bc 命令用以提供计算器的功能。

1 进入和退出计算环境

通过 bc 命令进入普通的计算环境。

通过 bc -l 命令进入高级计算环境(支持三角运算等)。

通过 ctr + d 或者 quit 退出。

2 支持的符号

普通计算支持的操作符:

  • +
  • -
  • *
  • /
  • ^ 取幂。
  • % 求余数。
  • ()

高级计算支持的操作符除了包含上面的之外,还包括以下函数:

  • s(x) 即 sin(x)。
  • c(x) 即 cos(x)。
  • a(x) 即 actan(x)。
  • l(x) 即 log(x),以 2 为底。
  • e(x) 即 e^x。
  • j(n,x) 贝塞尔函数。

PI 可以用 a(1)*4 表示。

其他符号:

  • ; 可以用这个符号在一行上列出多个语句。

3 结果的小数位设置

默认情况下,得到的结果最后不保留小数,也即是从小数点处直接截断。

1
2
# 结果为 0。
2.3/100

可以通过 scale 设置所要保留小数的位数(在普通计算环境下,scale 默认为 0;在高级计算环境下,scale 默认为 20)。且设置了 scale 之后,之后的所有结果(包括中间结果)都会保留 scale 所指定的小数,直到又碰到一个 scale 为止。

1
2
3
4
5
scale=3
# 结果为 .023。
2.3/100
# 结果为 .999。
1/3*3

不过 scale 只对求除,取幂,求余,以及高级计算中的函数有效,其他地方无效。

1
2
3
4
5
scale=3
# 返回 1.10。
0.55*2
# 返回 1.1110。
0.5555*2

4 进制的设置

  • ibase,设置输入的数的进制。默认为 10。
  • obase,设置输出的数的禁止。默认为 10。
1
2
3
4
ibase=16
FF
# FF 的十进制数。
255