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

简介: 大家都知道,windows下有个计算器工具,我们在工作生活中经常使用到它。但是,你可知Linux下也同样有个计算器吗? 当然,良许说的是命令行下的计算器工具,而不是界面型的计算器。良许是Linux应用开发工程师,平时基本是在命令行下工作,所以对于界面类的操作良许也不是非常擅长。

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

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

启动计算器

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

285b8c3bbab09aedb57e2587a0b237506335a243

选项

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

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

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

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

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

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

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

基本运算

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

+ 加法

- 减法

* 乘法

/ 除法

^ 指数

% 余数

693baca01c3c7b94987d707073b1c9454028ce6e

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

表达式运算

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

1a6d0e632d657e93d303eb417f7ac0fa03086a06

进制切换

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

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

24326f70139a85f58488e2dbd65c678dbca6399d

精度调整

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

47ac7054b372381066b5952ccc3c028709cf47d2

使用内置函数

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

N的二次方根 sqrt(N)

X的正弦(X是弧度)         s(X)

X的余弦(X是弧度)         c(X)

X的反正弦(返回值是弧度) a(X)

X的自然对数:         l(X)

X的指数对数:         e(X)

16513f2f499735a2025eb2e4e4a44c6eec278f92

编程运算

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

2922d06a5eb5b926c68cbfc92721630949c58602

通过管道操作

直接上例子:

4ad4017e1871428cef38c8e6bd829e5132240f1a

也能够使用HERE 命令:

8eeddd47f0ef55af0436da1355ed2ed71700f457

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

9949128d5d294591b9956ae47693462ef243be2f

last 也能够用 点号取代:

b0e0f04474fccb20077ba4fa2698a8b65ddbdc52

非交互界面下使用bc

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

54e6df574307a80d64f2de4a6cf2bf1ed7e56aa6

运行结果:

a3ee4555b46583eeaed0e803129934fc82ab7239

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

19c133b1b0e075a5eefa8eda7169c2e585e17f50

进行结果:

f38eb2a1739750e65584db63c1152fac5b4d195b

结语

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

原文发布时间为:2018-10-10

原文作者:良许

本文来自云栖社区合作伙伴“ 良许Linux”,了解相关信息可以关注“良许Linux”。

相关文章
|
6月前
|
资源调度 JavaScript Ubuntu
Linux系统之安装Calcium网页计算器
【6月更文挑战第11天】Linux系统之安装Calcium网页计算器
75 1
|
Unix Linux C语言
【Linux指令④】Linux查看日历、时间、打包压缩文件、Linux中的计算器,常用热键 关机指令
【Linux指令④】Linux查看日历、时间、打包压缩文件、Linux中的计算器,常用热键 关机指令
|
存储 Linux 程序员
Linux里隐藏的计算器,你知道它的奥秘吗?
Linux里隐藏的计算器,你知道它的奥秘吗?
178 0
Linux里隐藏的计算器,你知道它的奥秘吗?
|
Linux Shell Windows
Linux工具之bc计算器进制的转换
bc是Linux下的命令行式的计算器。 题目虽然叫任意进制,但是因为bc的限制,输入进制是2~16范围;输出进制是2~999范围。这与常见计算器的进制范围是一致的,比如windows计算器最高也只能处理16进制输入数据。
948 0
|
24天前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
55 8
|
24天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
152 6
|
25天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
66 3
|
25天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
62 2
|
7天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
32 14
Linux 10 个“who”命令示例