blogernice

导航

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)    收藏  举报