0%

迷你计算器 bc

迷你计算器 bc

.. note::
北斗南辰日夜移,飞走鸟和兔。
元·王哲《卜算子·叹世迷》

Linux bc命令是一种支持任意精度的交互执行的命令。

bc也是一种支持交互式执行语句的任意精度数的语言。与C语言有一些相似之处。 标准数学库也可以由 通过命令行选项使用。

官方定义为:

bc - An arbitrary precision calculator language

使用方法为:

1
$ bc [ -hlwsqv ] [long-options] [  file ... ]

默认实例

默认进入交互环境,直接可以执行计算

1
2
3
4
5
6
7
$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
12*3
36

输入quit即可退出。

通过管道使用

简单的情况可以使用管道来实现,如下:

1
2
$ echo "3.1415926 * 3" | bc
9.4247778

高级一点

可以通过scale来指定一些精度信息,如下可以保留3为有效精度

1
2
$ echo "scale=3; 2/3" | bc
.666

另外还可以使用一些数学函数,比如:

1
2
$ echo "sqrt(36)" | bc
6

还可以方便地使用ibase进行进制的转换,下面分别是输入为111,对应在2、4、8进制下的输出。

1
2
3
4
5
6
$ echo 'ibase=2;111' | bc 
7
$ echo 'ibase=4;111' | bc
21
$ echo 'ibase=8;111' | bc
73

当然也可以通过obase来指定输入进制,如下将输入的8进制的111,分别转换为2、4、8进制。

1
2
3
4
5
6
$ echo 'ibase=8;obase=2;111' | bc
1001001
$ echo 'ibase=8;obase=4;111' | bc
1021
$ echo 'ibase=8;obase=8;111' | bc
111
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道