首页 > 代码库 > Linux 数学运算

Linux 数学运算

  • let 命令
技术分享
a=1
b=2
let c=a+B
echo $c
View Code
技术分享
let a++
let b++
echo $a $b
View 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 $c
View 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

 

Linux 数学运算