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

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

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

启动计算器

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-猿站网-插图

选项

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

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

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

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

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

v:显示指令版本信息;

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

基本运算

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

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-1猿站网-插图

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

表达式运算

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-2猿站网-插图

进制切换

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

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-3猿站网-插图

精度调整

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-4猿站网-插图

使用内置函数

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

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-5猿站网-插图

编程运算

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-6猿站网-插图

通过管道操作

直接上例子:

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-7猿站网-插图

也能够使用HERE 命令:

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-8猿站网-插图

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-9猿站网-插图

last 也能够用 点号取代:

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-10猿站网-插图

非交互界面下使用bc

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-11猿站网-插图

运行结果:

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-12猿站网-插图

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

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-13猿站网-插图

进行结果:

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-14猿站网-插图

结语

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

本文授权转载自公众号「良许Linux」。良许,世界500强外企Linux开发工程师,公众号里分享大量Linux干货,欢迎关注!

%小知识:Linux里隐藏的计算器,你知道它的奥秘吗?-15猿站网-插图

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux如何使用libudev获取USB设备VID及PID

2023-5-7 2:27:55

建站知识

小知识:nginx服务器access日志中大量400 bad request错误的解决方法

2023-5-7 2:36:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索