Linux 数学运算
- let 命令
a=1 b=2 let c=a+B echo $c
let a++ let b++ echo $a $b
-
[]方法
a=1 b=2 echo $[a+b] echo $[$a+$b]
-
(()) 方法
a=1 b=2 echo $((a+b))
-
expr 方法
a=1 b=2 c=$(expr $a+$b) echo $c
注:上面的四种方法仅仅用于整数运算,如果浮点数运算要使用bc这个高级工具
sk_lavender@sk-pc:~$ num1=1.1 sk_lavender@sk-pc:~$ num2=2.2 sk_lavender@sk-pc:~$ num3=`echo "$num1 * $num2" | bc` sk_lavender@sk-pc:~$ echo $num3 2.4 sk_lavender@sk-pc:~$ # 采用scale参数设定小数精度 sk_lavender@sk-pc:~$ num3=`echo "scale=7; $num1 * $num2" | bc` sk_lavender@sk-pc:~$ echo $num3 2.42 sk_lavender@sk-pc:~$ # 采用bc进行进位制转换 sk_lavender@sk-pc:~$ # 十进制转二进制 sk_lavender@sk-pc:~$ num=123 sk_lavender@sk-pc:~$ result=`echo "obase=2; $num" | bc` sk_lavender@sk-pc:~$ echo $result 1111011 sk_lavender@sk-pc:~$ # 二进制转十进制 sk_lavender@sk-pc:~$ echo "obase=10;ibase=2; $result" | bc 123 sk_lavender@sk-pc:~$ # 采用bc计算平方以及平方根 sk_lavender@sk-pc:~$ echo "sqrt(100)" | bc 10 sk_lavender@sk-pc:~$ echo "10^10" | bc 10000000000 sk_lavender@sk-pc:~$
作者:奋斗的珞珞
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.