在linux终端中使用bc便捷计算
在linux终端中如果需要进行一些计算,我们可以方便的使用bc这个工具来实现基本的数学计算功能。
bc 是basic calculator/bench calculator的简称。其语法类似于C语言,支持加减乘除还有更多复杂的运算。
1.使用方法
bc可以通过两种方式进行使用:
首先可以在bash中输入
>>> bc
1+2
3
直接进入交互模式,来进行加减乘除的运算。
此外,更为通用的是利用管道的方式来进行计算:
echo '6.5/2.7' | bc
>>> 2
echo 'scale=5;6.5/2.7' | bc #其中scale是控制小数点位数
>>> 2.40740
2.功能选项
bc
有一系列功能开关:
-h, --help: 帮助.
-i, --interactive: 交互模式.
-l, --mathlib: 预置数学程序.
-q, --quiet: 安静模式.
-s, --standard: 标准bc结构输入.
-w, --warn: 非标准结构给出警告.
-v, --version: 版本号.
3.基本使用例子
#关系运算符
||, &&, !, =, ==
#基本数学运算
+, -, *, /, %, ^,
#自增,自减
++, --
#逻辑运算符
<, >, <=, >=, !=
一些特殊的表达式参数:
length() #用于求表达式的结果长度
length(300)
3
scale() #用于获取表达式小数点后位数
scale(3.14)
2
sqrt() #求平方根
scale=6;sqrt(21)
4.582575
#如果使用了bc -l,可以将预置的数学运算导入
s(x) #sin函数,x为弧度
s(3.14)
.00159265291648695254
c(x) #cos函数
c(0)
1.00000000000000000000
a(x) #arctang函数
a(sqrt(2)/2)
0.61547970867038734106
l(x) #自然对数
l(10)
2.30258509299404568401
e(x) #自然数为底的指数函数
e(2)
7.38905609893065022723
j(n,x) #Basel函数,n阶
j(1,3)
0.33905895852593645892
计算圆周率:
scale=10; 4*a(1) #arctan(1)--pi/4
定义函数:
define f (x) {
if (x <= 1) return (1);
return (f(x-1) * x);
}
f(10)
>>> 3628800