首页 > 代码库 > 8、linux-数字计算

8、linux-数字计算

bash内置了对整数四则运算的支持,但是并不支持浮点运算

bc命令是一种支持任意精度的交互执行的计算器语言,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下

在bc工作环境下,可以使用以下计算符号:
+    加法 
-     减法 
*    乘法 
/     除法 
^    指数 
%   余数

seq 10;seq 1 10;seq 1 1 10 

cat << seq 10 >> 123

 

其中,在做“除法计算”或“余数计算”时,可以使用scale指定小数点之后的位数(默认为0,即整数)

1、bash

例子1:a=2;b=3  echo $(($a+$b))   #结果为5

2、bc  quit

例子2:a=2;b=3  bc <<< 2*3(或者bc <<<  $a*$b)  #结果为6   

例子3:  bc进入交互模式计算:也可以一行输入多个计算,用逗号;相隔  

例子4:   也可以不进行交互而直接计算出结果  echo "(6+3)*2" |bc  echo 15/4 |bc   echo "scale=2;15/4" |bc  echo "3+4;5*2;5^2;18/4" |bc  echo $a+$b |bc

例子5:bc后可以接文件名  

  cat calc.txt

  20+89
  56-17
  34*45
  bc calc.txt
  109
  39
  1530
例子6:也可以使用HERE 命令
bc << HERE
> 30+56
> 30-14
> 30*5
HERE
86
16
150

3、awk

awk在处理文件的时,可以进行运算,那当然也可以单用来计算了
awk ‘BEGIN{a=(3+2)*2;print a}‘
awk ‘BEGIN{a=(3+2)*2;b=(5+8)*10/5;print a,b}‘
awk ‘BEGIN{a=(3+2)*2;b=(5+8)*10/5;print 2a,3b}‘

8、linux-数字计算