你们都知道,windows下有个计算器工具,咱们在工做生活中常常使用到它。可是,你可知Linux下也一样有个计算器吗?linux
固然,良许说的是命令行下的计算器工具,而不是界面型的计算器。良许是Linux应用开发工程师,平时基本是在命令行下工做,因此对于界面类的操做良许也不是很是擅长。程序员
启动计算器编程
启动这个命令行计算器很简单,只需在终端下输入bc便可。bc是英语basic calculator的缩写。退出计算器也很简单,只需输入quit便可。windows
选项函数
固然,这个计算器也是能够带选项的,经常使用的选项以下:工具
-i:强制进入交互式模式;oop
-l:定义使用的标准数学库;ui
-w:对POSIX bc的扩展给出警告信息;人工智能
-q:不打印正常的GNU bc环境信息;命令行
-v:显示指令版本信息;
-h:显示指令的帮助信息。
基本运算
启动计算器以后,就能够在里面进行计算了。基本的运算以下:
+ 加法
- 减法
* 乘法
/ 除法
^ 指数
% 余数
固然,若是只支持这些运算的话,那也过小儿科了,它的强大之处还在后头。
表达式运算
若是要计算一个表达示,直接在bc里输入表达式便可。bc会将变量存储,其它表达式也能够直接使用这个变量。
进制切换
做为一个程序员,咱们常常与二进制,十进制,十六进制进行打交道,bc固然也支持这些操做。输入和输出的数系基分别存储在ibase和obase变量中,默认值为10,有效的数值是2到16。也就是说,咱们除了常规的二、八、十、16进制,还可使用三、五、七、9等进制。
可是,在进行设置的时候,必定要先设置obase,再设置ibase。由于若是先设置ibase的话,再设置obase时,obase等号后面的数字就会被认为是ibase设置的进制值。
精度调整
bc默认的精度是0,也就是说,bc是默认以整数的方式进行存储。咱们能够经过设置scale这个变量来进行调整精度。
使用内置函数
除了简单的算术操做符,bc还经过外部的数学函数库来提供许多高级的数学函数。此时,应该使用-l选项。经常使用的函数以下:
N的二次方根 sqrt(N)
X的正弦(X是弧度) s(X)
X的余弦(X是弧度) c(X)
X的反正弦(返回值是弧度) a(X)
X的天然对数: l(X)
X的指数对数: e(X)
编程运算
做为一个计算语言,bc支持简单的声明(变量赋值、中断、返回等)、复合语句(if、while、for loop等)和自定义函数。这个功能就比较高级,更详细的内容能够参考官方指南。
经过管道操做
直接上例子:
也可以使用HERE 命令:
可以使用内置的变量 last 引用上一次的结果:
last 也可以用 点号取代:
非交互界面下使用bc
到目前为止,咱们一直在交互界面下使用bc。不过更加流行的使用bc的方法是在没有交互界面的脚本中运行bc。这种状况下,你可使用echo命令而且借助管道来向bc发送输入内容。
运行结果:
一个简单的计算三角形面积的程序
进行结果:
结语
bc这个命令行计算器很是强大,至少比window自带的计算器要强大不少。这个工具特别适合linux开发人员,在无需打开手机计算器的状况下,很方便的就能够进行数学运算。同时,也能够编写脚本进行更复杂的数学运算。更强大的功能还有待你的发现!
更多精彩内容,请关注公众号良许Linux,公众内回复1024可免费得到5T技术资料,包括:Linux,C/C++,Python,树莓派,嵌入式,Java,人工智能,等等。公众号内回复进群,邀请您进高手如云技术交流群。
公众号:良许Linux