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

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

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


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



启动计算器


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


image.png



选项


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


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

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

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

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

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

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



基本运算


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


+ 加法

- 减法

* 乘法

/ 除法

^ 指数

% 余数



image.png



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



表达式运算


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


image.png




进制切换


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


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


image.png



精度调整


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


image.png



使用内置函数


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


N的二次方根 sqrt(N)

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

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

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

X的自然对数:        l(X)

X的指数对数:        e(X)


image.png



编程运算


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


image.png



通过管道操作


直接上例子:


image.png



非交互界面下使用bc


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


image.png



结语


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

目录
相关文章
|
资源调度 JavaScript Ubuntu
Linux系统之安装Calcium网页计算器
【6月更文挑战第11天】Linux系统之安装Calcium网页计算器
150 1
|
Unix Linux C语言
【Linux指令④】Linux查看日历、时间、打包压缩文件、Linux中的计算器,常用热键 关机指令
【Linux指令④】Linux查看日历、时间、打包压缩文件、Linux中的计算器,常用热键 关机指令
|
存储 Linux
Linux里隐藏的计算器,你知道它的奥秘吗?
大家都知道,windows下有个计算器工具,我们在工作生活中经常使用到它。但是,你可知Linux下也同样有个计算器吗? 当然,良许说的是命令行下的计算器工具,而不是界面型的计算器。良许是Linux应用开发工程师,平时基本是在命令行下工作,所以对于界面类的操作良许也不是非常擅长。
2599 0
|
Linux Shell Windows
Linux工具之bc计算器进制的转换
bc是Linux下的命令行式的计算器。 题目虽然叫任意进制,但是因为bc的限制,输入进制是2~16范围;输出进制是2~999范围。这与常见计算器的进制范围是一致的,比如windows计算器最高也只能处理16进制输入数据。
1011 0
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
409 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
288 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
659 57
|
5月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
491 143
linux命令—tree
|
1月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
368 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
248 0
Linux内存问题排查命令详解