众所周知,windows下有一个计算器工具,我们在工作和生活中经常会用到它。但是,你知道Linux下也有计算器吗?当然,梁旭说的是命令行下的计算器工具,而不是界面式计算器。良旭是一名Linux应用开发工程师,平时在命令行下工作,所以良旭对界面操作不是很擅长。启动计算器启动这个命令行计算器非常简单,只需在终端中输入bc即可。BC是英文basiccalculator的缩写。退出计算器也很简单,输入quit即可。Options当然这个计算器也可以有选项,常用的选项如下:i:强制进入交互模式;l:定义使用的标准数学库;w:给出POSIXbc扩展的警告信息;q:不打印普通GNUbc环境信息;v:显示指令版本信息;h:显示指令帮助信息。基本操作启动计算器后,您可以在其中进行计算。基本运算如下:+加法-减法*乘法\/除法^指数%余数当然,如果只支持这些运算,未免太幼稚了,威力还未到。表达式运算如果要计算一个表达式,可以直接在bc中输入表达式。bc会存储这个变量,其他表达式也可以直接使用这个变量。作为程序员,我们经常和二进制、十进制、十六进制打交道。当然,bc也支持这些操作。输入和输出基数分别存储在ibase和obase变量中。默认值为10,有效值为2到16。也就是说,除了常规的2、8、10、16碱基外,我们还可以使用3、5、7、9等.基地。不过设置的时候一定要先设置obase,再设置ibase。因为如果先设置ibase,再设置obase,那么obase等号后面的数字会被认为是ibase设置的base值。精度调整bc默认精度为0,也就是说bc默认存储为整数。我们可以通过设置比例变量来调整精度。使用内置函数除了简单的算术运算符外,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循环等)和自定义函数。这个功能比较高级,更详细的内容可以参考官方指南。通过流水线操作直接上例子:也可以使用HERE命令:可以使用内置变量last来引用最后的结果:last也可以用点代替:在非交互中使用bcinterface到目前为止,我们一直在交互界面bc中使用它。但更流行的使用bc的方法是在没有交互式界面的脚本中运行bc。在这种情况下,您可以使用echo命令并将输入通过管道传递给bc。运行结果:一个计算三角形面积的简单程序。结果:结论bc是一个非常强大的命令行计算器,至少比windows自带的计算器强大很多。这个工具特别适合Linux开发人员。无需打开手机计算器即可进行数学运算,非常方便。同时,您还可以编写脚本来执行更复杂的数学运算。更多强大的功能还有待你发现!本文经授权转载自公众号「良墟Linux」。世界500强外企Linux开发工程师梁旭,在公众号分享大量Linux干货,欢迎关注!
