bc计算器简介
bc是linux shell 命令下的很实用的计算器,加减乘除、进制转换,
还支持变量,条件比较操作符,逻辑操作符,判断语句和循环语句。
因为bc本身是一个命令解释器,要退出它只要直接输入quit回车或者按Ctrl+D终止。
a=1
while(a++<100)
sum+=a
sum
5049
1.设定小数精度,使用参数scale。
echo "scale=5;3/21" | bc
.14285
+ 加法
- 減法
* 乘法
/ 除法
^ 指數
% 餘數
bc支持交互式计算
bc
3+2
5
3+2;9*9
5
81
2.进制转换,ibase是输入数字的进制,而obase就是输出数字的进制。
16进制数字的F要大写,如果小写结果是不对的。没有指定的时候,默认是10进制。
william=100;echo "obase=2;$william" | bc
1100100
william=100;echo "obase=10;ibase=2;$william" | bc
4
echo "ibase=16; FFFF" | bc
65535
echo "obase=16; 1000" | bc
3E8
3.计算平方和平方根
echo "sqrt(100)" | bc
10
echo "10^10" | bc
10000000000
4.将多个表达式写在一个文件中一起计算
[root@zhoudao~]# cat test.bc
123*321
123/321
scale=4;123/321
[root@zhoudao~]# bc test.bc
39483
0
.3831
[root@zhoudao~]# cat test.bc | bc
39483
0
.3831
5.一个计算三角形面积的Bash脚本
b表示三角形的底,h表示三角形的高,那么三角形的面积计算公式是b*h/2 。
文件 :area_of_triangle.sh
#!/bin/bash
# Area=(1/2) x Base x Height
echo -n "Enter base of a triangle : "
read b
echo -n "Enter height of a triangle : "
read h
# calculate it and display back
area=$(echo "scale=2;(1/2) * $b * $h"|bc)
echo "Area of a triangle is $area"
[root@zhoudao~]# ./area_of_triangle.sh
Enter base of a triangle : 123
Enter height of a triangle : 321
Area of a triangle is 19741.50
[root@zhoudao~]#
6.-l 定义数学函数并且scale初始化值为20,取代默认值0。
If bc is invoked with the -l option, a math library is preloaded.
s (x) The sine of x, x is in radians. 正玄函数
c (x) The cosine of x, x is in radians. 余玄函数
a (x) The arctangent of x, arctangent returns radians. 反正切函数
l (x) The natural logarithm of x. log函数(以2为底)
e (x) The exponential function of raising e to the value x. e的指数函数
j (n,x) The bessel function of integer order n of x. 贝塞尔函数
PS: echo "scale=100; a(1)*4" | bc -l (计算圆周率)
可以计算圆周率到100位,而且速度很快
--------------------------------------------------------------------------------------------------------------
gnome-calculator 计算器图形界面。
另外,python也可以在shell下进行数学计算,且计算格式与C语言一致。
posted on 2018-10-26 16:30 blogernice 阅读(1035) 评论(0) 收藏 举报
浙公网安备 33010602011771号