linux 开根号函数,Linux里隐藏的计算器开根号,问他它的地球未解之谜吗?
Linux里隐藏的计算器,你知道它的奥秘吗?
大家都知道,windows下有个计算器工具,我们在工作生活中经常使用到它。但是,你可知Linux下也同样有个计算器吗?
当然,良许说的是命令行下的计算器工具,而不是界面型的计算器。良许是Linux应用开发工程师,平时基本是在命令行下工作,所以对于界面类的操作良许也不是非常擅长。
启动计算器
启动这个命令行计算器很简单,只需在终端下输入bc即可。bc是英语basic calculator的缩写。退出计算器也很简单,只需输入quit即可。
选项
当然,这个计算器也是可以带选项的,常用的选项如下:
-i:强制进入交互式模式;
-l:定义使用的标准数学库;
-w:对POSIX bc的扩展给出警告信息;
-q:不打印正常的GNU bc环境信息;
-v:显示指令版本信息;
-h:显示指令的帮助信息。
基本运算
启动计算器之后,就可以在里面进行计算了。基本的运算如下:
+ 加法
– 减法
*乘法
/ 除法
^ 指数
% 余数
当然,如果只支持这些运算的话,那也太小儿科了,它的强大之处还在后头。
表达式运算
如果要计算一个表达示,直接在bc里输入表达式即可。bc会将变量存储,其它表达式也可以直接使用这个变量。
进制切换
作为一个程序员,我们经常与二进制,十进制,十六进制进行打交道,bc当然也支持这些操作。输入和输出的数系基分别存储在ibase和obase变量中,默认值为10,有效的数值是2到16。也就是说,我们除了常规的2、8、10、16进制,还可以使用3、5、7、9等进制。
但是,在进行设置的时候,一定要先设置obase,再设置ibase。因为如果先设置ibase的话,再设置obase时,obase等号后面的数字就会被认为是ibase设置的进制值。
精度调整
bc默认的精度是0,也就是说,bc是默认以整数的方式进行存储。我们可以通过设置scale这个变量来进行调整精度。
使用内置函数
除了简单的算术操作符,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 loop等)和自定义函数。这个功能就比较高级,更详细的内容可以参考官方指南。
通过管道操作
直接上例子:
也能够使用HERE 命令:
能够使用内置的变量 last 引用上一次的结果:
last 也能够用 点号取代:
非交互界面下使用bc
到目前为止,我们一直在交互界面下使用bc。不过更加流行的使用bc的方法是在没有交互界面的脚本中运行bc。这种情况下,你可以使用echo命令并且借助管道来向bc发送输入内容。
运行结果:
一个简单的计算三角形面积的程序
进行结果:
结语
bc这个命令行计算器非常强大,至少比window自带的计算器要强大很多。这个工具特别适合linux开发人员,在无需打开手机计算器的情况下,很方便的就可以进行数学运算。同时,也可以编写脚本进行更复杂的数学运算。更强大的功能还有待你的发现!
更多精彩内容,请关注公众号良许Linux,公众内回复1024可免费获得5T技术资料,包括:Linux,C/C++,Python,树莓派,嵌入式,Java,人工智能,等等。公众号内回复进群,邀请您进高手如云技术交流群。
公众号:良许Linux
有收获?希望老铁们来个三连击,给更多的人看到这篇文章
linux 开根号函数,Linux里隐藏的计算器开根号,问他它的地球未解之谜吗?相关推荐
- Linux里隐藏的计算器,你知道它的奥秘吗?
大家都知道,windows下有个计算器工具,我们在工作生活中经常使用到它.但是,你可知Linux下也同样有个计算器吗? 当然,良许说的是命令行下的计算器工具,而不是界面型的计算器.良许是Linux应用 ...
- linux计算器保存文件,Linux里隐藏的计算器,你知道它的奥秘吗?
大家都知道,windows下有个计算器工具,我们在工作生活中经常使用到它.但是,你可知Linux下也同样有个计算器吗? 当然,良许说的是命令行下的计算器工具,而不是界面型的计算器.良许是Linux应用 ...
- linux c 绝对值函数,linux c 简介
--- title: linux c 简介 date: 2020-07-19 updated: 2020-07-19 --- # Preface # todo linux c http://blog. ...
- linux下wait函数,Linux wait函数详解
wait和waitpid出现的原因 SIGCHLD --当子进程退出的时候,内核会向父进程SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止) --子进程退出时,内核将 ...
- linux使用模板函数,Linux常用C函数
Linux常用C函数Tag内容描述: 1.Linux常用C函数 接口处理篇 accept(接受socket连线) 相关函数 socket,bind,listen,connect 表头文件 #inclu ...
- 用yacc编写的算术运算计算器_Linux里隐藏的计算器,你知道它的奥秘吗?
大家都知道,windows下有个计算器工具,我们在工作生活中经常使用到它.但是,你可知Linux下也同样有个计算器吗? 当然,良许说的是命令行下的计算器工具,而不是界面型的计算器.良许是Linux应用 ...
- linux 文件操作函数,Linux下的文件操作函数及creat用法
编写Linux应用程序要用到如下工具: (1)编译器:GCC GCC是Linux平台下最重要的开发工具,它是GNU的C和C++编译器,其基本用法为:gcc [options] [filenames]. ...
- linux的scandir函数,linux C++ scandir 的使用
() 头文件 #include () 函数定义 int scandir(const char *dir,struct dirent **namelist,int (*filter)(const voi ...
- linux的gets函数,Linux 下使用C语言 gets()函数报错
在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 ...
- linux i2c 读写函数,Linux下读写芯片的I2C寄存器
要想在Linux下读写芯片的I2C寄存器,一般需要在Linux编写一份该芯片的I2C驱动,关于Linux下如何编写I2C驱动,前一篇文章<手把手教你写Linux I2C设备驱动>已经做了初 ...
最新文章
- 呵呵,你开心就好!——AI向杠精宣战
- 第三次作业-Scrum
- [Java基础]为什么会出现字符流?与编码表介绍
- mini_magick上传图片
- hnu 暑期实训之蛇形矩阵
- 网络流(最大流)基础入门
- QGIS教程01:为什么要用QGIS?
- php数据库单循环显示,单循环赛制的PHP实现
- html制作公众号,自制微信公众号一键排版工具
- 超人工智能语音合成系统问世
- seo与sem的区别
- 分享餐饮管理组织结构流程图模板
- 如何使用gdb调试java虚拟机_Eclispe+qemu+gdb调试linux Kernel
- samba介绍、搭建及坑
- Isaac Sim 使用指南(一)
- Python—docx 批量生成 docx 文件
- [StringIO和BytesIO]
- Raspbian命令行安装desktop界面
- 可以在finally代码块中处理返回值么?
- 微信小程序获取用户信息“授权失败”场景的处理