Linux里隐藏的计算器,你知道它的奥秘吗?

软件维
• 阅读 1421

Linux里隐藏的计算器,你知道它的奥秘吗?

大家都知道,windows下有个计算器工具,我们在工作生活中经常使用到它。但是,你可知Linux下也同样有个计算器吗?

当然,良许说的是命令行下的计算器工具,而不是界面型的计算器。良许是Linux应用开发工程师,平时基本是在命令行下工作,所以对于界面类的操作良许也不是非常擅长。

启动计算器

启动这个命令行计算器很简单,只需在终端下输入bc即可。bc是英语basic calculator的缩写。退出计算器也很简单,只需输入quit即可。

Linux里隐藏的计算器,你知道它的奥秘吗?

选项

当然,这个计算器也是可以带选项的,常用的选项如下:

-i:强制进入交互式模式;

-l:定义使用的标准数学库;

-w:对POSIX bc的扩展给出警告信息;

-q:不打印正常的GNU bc环境信息;

-v:显示指令版本信息;

-h:显示指令的帮助信息。

基本运算

启动计算器之后,就可以在里面进行计算了。基本的运算如下:

+ 加法
- 减法
* 乘法
/ 除法
^ 指数
% 余数

Linux里隐藏的计算器,你知道它的奥秘吗?

当然,如果只支持这些运算的话,那也太小儿科了,它的强大之处还在后头。

表达式运算

如果要计算一个表达示,直接在bc里输入表达式即可。bc会将变量存储,其它表达式也可以直接使用这个变量。

Linux里隐藏的计算器,你知道它的奥秘吗?

进制切换

作为一个程序员,我们经常与二进制,十进制,十六进制进行打交道,bc当然也支持这些操作。输入和输出的数系基分别存储在ibase和obase变量中,默认值为10,有效的数值是2到16。也就是说,我们除了常规的2、8、10、16进制,还可以使用3、5、7、9等进制。

但是,在进行设置的时候,一定要先设置obase,再设置ibase。因为如果先设置ibase的话,再设置obase时,obase等号后面的数字就会被认为是ibase设置的进制值。

Linux里隐藏的计算器,你知道它的奥秘吗?

精度调整

bc默认的精度是0,也就是说,bc是默认以整数的方式进行存储。我们可以通过设置scale这个变量来进行调整精度。

Linux里隐藏的计算器,你知道它的奥秘吗?

使用内置函数

除了简单的算术操作符,bc还通过外部的数学函数库来提供许多高级的数学函数。此时,应该使用-l选项。常用的函数如下:

N的二次方根 sqrt(N)
X的正弦(X是弧度) s(X)
X的余弦(X是弧度) c(X)
X的反正弦(返回值是弧度) a(X)
X的自然对数: l(X)
X的指数对数: e(X)

Linux里隐藏的计算器,你知道它的奥秘吗?

编程运算

作为一个计算语言,bc支持简单的声明(变量赋值、中断、返回等)、复合语句(if、while、for loop等)和自定义函数。这个功能就比较高级,更详细的内容可以参考官方指南。

Linux里隐藏的计算器,你知道它的奥秘吗?

通过管道操作

直接上例子:

Linux里隐藏的计算器,你知道它的奥秘吗?

也能够使用HERE 命令:

Linux里隐藏的计算器,你知道它的奥秘吗?

能够使用内置的变量 last 引用上一次的结果:

Linux里隐藏的计算器,你知道它的奥秘吗?

last 也能够用 点号取代:

Linux里隐藏的计算器,你知道它的奥秘吗?

非交互界面下使用bc

到目前为止,我们一直在交互界面下使用bc。不过更加流行的使用bc的方法是在没有交互界面的脚本中运行bc。这种情况下,你可以使用echo命令并且借助管道来向bc发送输入内容。

Linux里隐藏的计算器,你知道它的奥秘吗?

运行结果:

Linux里隐藏的计算器,你知道它的奥秘吗?

一个简单的计算三角形面积的程序

Linux里隐藏的计算器,你知道它的奥秘吗?

进行结果:

Linux里隐藏的计算器,你知道它的奥秘吗?

结语

bc这个命令行计算器非常强大,至少比window自带的计算器要强大很多。这个工具特别适合linux开发人员,在无需打开手机计算器的情况下,很方便的就可以进行数学运算。同时,也可以编写脚本进行更复杂的数学运算。更强大的功能还有待你的发现!

更多精彩内容,请关注公众号良许Linux,公众内回复1024可免费获得5T技术资料,包括:Linux,C/C++,Python,树莓派,嵌入式,Java,人工智能,等等。公众号内回复进群,邀请您进高手如云技术交流群。

Linux里隐藏的计算器,你知道它的奥秘吗?


最后,最近很多小伙伴找我要Linux学习路线图,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!

免费送给大家,只求大家金指给我点个赞!

电子书 | Linux开发学习路线图

也希望有小伙伴能加入我,把这份电子书做得更完美!

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

推荐阅读:

点赞
收藏
评论区
推荐文章
Jack Jack
4年前
Java 计算器小程序
该程序是一个图形界面的简单Java计算器,具有良好的界面,使用人员能快捷简单的进行加、减、乘、除、操作。其程序要求为设计一个图形界面(GUI)的计算器应用程序,完成简单的加法、减法、乘法、除法运算,且参与计算的数字和所得结果可以有小数点、正负号,同时还要具备清零功能。一、需求分析根据项目简介中的项目要求,我们将其具体需求做如下分析:1.要使用
Stella981 Stella981
3年前
Linux下3种常用的网络测速工具
大家好,我是良许。不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生。本文介绍三个Linux命令行下的网络测速工具,让你随时随地知道你的网络状况。fastfast是Netflix提供的一项服务,它不仅可以通过命令行来使用,而且可以直接在Web端使用:fast.com
Wesley13 Wesley13
3年前
Java多线程带返回值的Callable接口
Java多线程带返回值的Callable接口在面试的时候,有时候是不是会遇到面试会问你,Java中实现多线程的方式有几种?你知道吗?你知道Java中有可以返回值的线程吗?在具体的用法你知道吗?如果两个线程同时来调用同一个计算对象,计算对象的call方法会被调用几次你知道吗?如果这些你知道,那么凯哥(凯哥Java:kaigejava)恭喜你,本文你可以不用
Wesley13 Wesley13
3年前
Java中的屠龙之术——如何修改语法树
在Lombok经常用,但是你知道它的原理是什么吗?(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fjuejin.im%2Fpost%2F5e54d38a6fb9a07cbf46b3ca),和Lombok经常用,但是你知道它的原理是什么吗?(二)(https://www.oschin
Stella981 Stella981
3年前
Lombok经常用,但是你知道它的原理是什么吗?(二)
在上一篇Lombok经常用,但是你知道它的原理是什么吗?(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fjuejin.im%2Fpost%2F5e54d38a6fb9a07cbf46b3ca)简单介绍了注解处理器,是用来处理编译期的注解的一个工具,我们只是自己生成了一些代码,但是和Lo
Stella981 Stella981
3年前
Lombok经常用,但是你知道它的原理是什么吗?
相信大家在项目中都使用过Lombok,因为能够简化我们许多的代码,但是该有的功能一点也不少。那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函
Stella981 Stella981
3年前
Linux终端界面屏保
Linux终端界面屏保在很多Linux使用者的认知里,都认为终端下的Linux操作界面是没有屏保的,只有像windows那样的图形界面下才有屏保。但是其实Linux下也是有屏保的,只不过是ASCII屏保。下面就来给大家介绍下Linux下的屏保工具termsaver。我们使用的屏保工具叫做termsaver。如果你使用的是De
Stella981 Stella981
3年前
GeoGebra(数学图形计算器)
!GeoGebra(数学图形计算器)(http://static.oschina.net/uploads/img/201603/17165434_ycds.png)插件介绍:数学是我们生活中不可缺少的一部分,处处都会用的数学,在学习数学的过程中,普通的计算器已经无法满足数学学习了,图形计算器就运应而生,这大大滴提高了小伙伴们的学习效率,
掌握了这几个 Linux 命令可以让你工作效率提升三倍
很多程序员熟悉了在Windows环境下开发,而我们服务器一般都是Linux系统。当有一天你需要在Linux服务器上做一些配置或者故障排除的时候,你会很困惑,不知道如何下手。原因是对Linux常用的命令还不熟悉,今天我就给大家介绍几个Linux常用命令。掌握它们的用法后,我们在使用CRMEB打通版系统的时候就能如鱼得水,可以大大提高工作
阮小五 阮小五
2年前
解锁Mac上自带的计算机的隐藏功能
不要小看macOs的计算器App——只要点按几下,你就能发现它简洁外表下潜藏着的强大功能。轻松转换想在人民币与美元、公里与英里之间转换?只要输入一个数值,再在“转换”菜单中选择单位类别(面积、长度、速度、温度等)即可。科学计算《计算器》的默认界面只显示基本
绣鸾 绣鸾
1年前
科学计算器Mac版PCalc
是一款全功能的科学计算器,它具有以下特点:支持十六进制、八进制和二进制计算,以及可选的RPN模式、括号、可编程函数和一组广泛的单位转换。科学家、工程师、学生、程序员或任何正在寻找功能丰富的计算器的人的强大选择。具有强大的菜单栏小部件,无需离开当前应用程序即