Linux 数学运算
时间:2022-04-03 12:37
- let 命令
a=1 b=2 let c=a+B echo $cView Code
let a++ let b++ echo $a $bView Code
-
[]方法
a=1 b=2 echo $[a+b] echo $[$a+$b]View Code
-
(()) 方法
a=1 b=2 echo $((a+b))View Code
-
expr 方法
a=1 b=2 c=$(expr $a+$b) echo $cView Code
注:上面的四种方法仅仅用于整数运算,如果浮点数运算要使用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:~$View Code