linux BC命令行计算器
1. 基本用法:
$ bc <<< 5*4
20
$ bc <<< 5+4
9
$ bc <<< 5-4
1
或者
$ echo "5*4" | bc
20
$ echo "5+4" | bc
9
$ echo "5-4" | bc
1
也可以把算式写到文件里面,然后一次计算。
$ cat calcFile
5+5
6+7$ bc < calcFile
10
13
也可以使用HERE 命令:
$ bc << HERE
> 1+4
> 4-1
> 2*4
> HERE
5
3
8
可以使用内置的变量 last 引用上一次的结果:
$ echo "5-4;last+6" | bc
1
7
last 也可以用 点号代替:
$ echo "5-4;.+6" | bc
1
7
2. 浮点数运算:
可以使用scale指定小数点之后的位数(默认为0,即整数)
$ echo "sqrt(10)" | bc
3
$ echo "scale=1;sqrt(10)" | bc
3.1
$ echo "scale=10;sqrt(10)" | bc
3.1622776601
有时候得不到指定的位数:
$ echo "scale=10; 1.25*9" | bc
11.25
此时,可以修改为:
$ echo "scale=10; 1.25*9/1" | bc
11.2500000000
3. 数制转换:
可以使用变量 ibase表示转换前数字的数制;obase表示转换后数字的数制
$ echo 'obase=16;128' | bc
80
$ echo 'ibase=16;obase=A;80' | bc
128
$ echo 'obase=2;128' | bc
10000000
$ echo 'ibase=2;obase=A;10000000' | bc
128
$ echo "obase=10;ibase=16;80" | bc 128
4. 指数运算:
$ echo "5^5" | bc
3125
$ echo "(5^5)^5" | bc
298023223876953125
记得第一个指数运算的结果要添加括号。
5. 基于函数库的运算
bc支持以下函数:
s(x): 正弦函数(x为弧度)
c(x): 余弦函数(x为弧度)
a(x): 反正切函数(结果为弧度)
l(x): 自然对数函数
e(x): 以e为底的指数函数
j(n,x): 贝赛尔函数
此时,bc要加上 -l 参数 (此时, scale 为20)
计算 log1.5(2) (以 1.5为底,2的对数):
$ echo "l(2)/l(1.5)" | bc -l
1.70951129135145477699
也可以用 awk命令:
$ awk 'BEGIN {printf "%1l.9f\n", log(2)/log(1.5)}'
1.709511291
6. 脚本函数编程:
$ cat calc_prog
print "Enter a number A\n"; a = read()print "Enter another number B\n"; b = read()if (b == a) {print "B = A\n";}if (a < b) {print "B > A\n";}if (a > b) {print "B < A\n";}
$ bc -l calc_prog
7. 脚本模拟计算器:
$ cat calc.sh
#!/bin/bashbc << END
scale=2
$@
END
$ ./test.sh 1+2
3
参考:
http://mylinuxbook.com/linux-command-line-calculator-bc-examples/
linux BC命令行计算器相关推荐
- linux中脚本引入计算bc,linux BC命令行计算器
1. 基本使用: $ bc <<< 5*4 20 $ bc <<< 5+4 9 $ bc <<< 5-4 1或者 $ echo "5*4 ...
- linux脚本写的计算器,一步步打造自己的linux命令行计算器
相信很多人,在工作中会需要使用到计算器.一般的做法是,打开并使用系统自带的计算器. 这种做法可能对我来说,有如下几个问题. 太慢.每次需要打开计算器,然后改成编程模式,手工选择进制,再使用输入表达式进 ...
- Linux中w r x数学代码,Linux bc命令实现数学计算器
bash shell 内置了对整数运算的支持,但是并不支持浮点运算,而 linux bc 命令可以很方便的进行浮点运算,当然整数运算也不再话下. bc 甚至可以称得上是一种编程语言了,它支持变量.数组 ...
- linux bc命令源代码,Linux bc命令实现数学计算器
Bash Shell 内置了对整数运算的支持,但是并不支持浮点运算,而 Linux bc 命令可以很方便的进行浮点运算,当然整数运算也不再话下. bc 甚至可以称得上是一种编程语言了,它支持变量.数组 ...
- linux bc命令全称,Linux bc 命令
Linux bc 命令 bc 命令是任意精度计算器语言,通常在linux下当计算器用. 它类似基本的计算器, 使用这个计算器可以做基本的数学运算. 常用的运算: + 加法 - 减法 * 乘法 / 除法 ...
- linux基础命令行操作【1】
目录 1.基本命令 2.文件相关知识 3.文本相关操作 4.文件解压.压缩.打包命令 1.基本命令 Ctrl+A/t+Fn+F6:管理Linux(Fn+数字) Linux:输入密码是不显示 Alt+F ...
- Linux快捷键-命令行下
LINUX中命令行下是没有鼠标的,所以所有的操作只能通过键盘来实现.确实,鼠标对于电脑而言感觉还是很重要的,相对与Windows,Linux在易操作性上差的很多.所以,对于我们技术人员来讲,刚开始学习 ...
- Linux终端命令行下的常用快捷键使用
Linux终端命令行下的常用快捷键 文章目录: ***`下面我只介绍常用的命令,其他的用的几乎很少,常用自然就是总会用的到的,而且用处比较大的,可以提高工作效率的,下面我亲自测试这些命令都是亲测可行的 ...
- Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例)
from: Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例) 在认识ImageMagick之前,我使用的图像浏览软件是Kui ...
最新文章
- 基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施、Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率
- nodejs安装部署与运行
- Github在windows7环境下使用入门
- python教程书籍推荐-买Python入门书籍,我推荐这一本
- python只能对列表进行切片_Python3:类型错误:列表索引必须是整数或切片,而不是s...
- 2021抖音电商达人生态报告
- jvm 堆外内存_jvm┃java内存区域,跳槽大厂必会知识点
- Hadoop/HBase 配置snappy压缩
- linux中ps-p,linux下ps命令
- C#租房管理系统(课程设计)
- HDU 2549 壮志难酬
- python下载电影链接_Python:输入电影名,爬获取到阳光电影网中对应名称的迅雷下载链接,获取的链接有点问题(具体问题在内容里)...
- android ps1 变量配置,安卓ps模拟器ePSXe使用图文教程
- python随机生成一个整数n、求s=1+2+3_随机数字生成与数据杜撰—Python、Stata、R和Excel同步实现(附代码)...
- 网站排名不好的解决方法
- 关于NetCore+饿了么开放平台+奇门+聚石塔对接的解释说明
- matlab定步长ode,[转载]matlab ode45 函数传自定义参数用法及定步长ode
- 模仿京东tab切换--自创
- 信用社计算机考试真题,农村信用社计算机考试试题.doc
- 什么是WMS系统,WMS如何选型
热门文章
- 【力扣周赛】第342场周赛
- Leads、SDR、MQL、SQL、L2C术语概念,线索创建与清洗、线索分级模型、线索流转策略、线索的统计与分析
- 让企业用上金融合规专有云,腾讯云专有云TCE矩阵来支招儿!
- 饭否android客户端,fanfou(饭否) android客户端 代码学习二
- NVIDA英伟达公司--(夜的第一章)
- css3特效(上下左右晃动效果)
- 修改注册表出现“无法编辑UncheckedValue:写该值的新内容时出错”的解决方法
- 第二十六篇:USB3.0高带宽ISO(48KBytes/125us)实战
- java mysql插入数据乱码_java向mysql数据库插入数据显示乱码的问题
- windows服务器svn迁移到linux服务器svn3