首页 > 系统服务 > 详细

shell 数学计算的N个方法

时间:2019-09-04 00:54:03      阅读:142      评论:0      收藏:0      [点我收藏+]
let使用方法
root@172-18-21-195:/tmp# n1=5
root@172-18-21-195:/tmp# n2=10
root@172-18-21-195:/tmp# let result=n1+n2
root@172-18-21-195:/tmp# echo $result
15
root@172-18-21-195:/tmp# let n1++
root@172-18-21-195:/tmp# echo $n1
6
root@172-18-21-195:/tmp# let n1--
root@172-18-21-195:/tmp# echo $n1
5
root@172-18-21-195:/tmp# let n1+=6
root@172-18-21-195:/tmp# echo $n1
11
$[] 来计算
root@172-18-21-195:/tmp/pratice# n1=5
root@172-18-21-195:/tmp/pratice# n2=10
root@172-18-21-195:/tmp/pratice# result2=$[ n1 + n2 ]
root@172-18-21-195:/tmp/pratice# echo $result2
15
$(()) 计算
root@172-18-21-195:/tmp# echo $(( 1+2 ))
3
root@172-18-21-195:/tmp# echo $((1-9))
-8
expr 来计算
root@172-18-21-195:/tmp# result=`expr 10-3`  # 运算符前后没有空格间隔,导致无法运算
root@172-18-21-195:/tmp# echo $result
10-3
root@172-18-21-195:/tmp# result=`expr 10 - 3`
root@172-18-21-195:/tmp# echo $result
7
root@172-18-21-195:/tmp# result=$(expr $n1 + 4)
root@172-18-21-195:/tmp# echo $result
15
root@172-18-21-195:/tmp# echo $n1
11
bc 来计算
root@172-18-21-195:/tmp# echo "4*12*0.3" | bc
14.4
root@172-18-21-195:/tmp# result2=`echo "4*12*0.3" | bc`
root@172-18-21-195:/tmp# echo $result2
14.4

通过scale来控制精度

root@172-18-21-195:/tmp# echo "scale=3;3.1415926*7/2.1234987" | bc
10.356
root@172-18-21-195:/tmp# echo "scale=30;3.1415926*7/2.1234987" | bc
10.356092141709340344780997511324

10进制与2进制转换

root@172-18-21-195:/tmp# n=100
root@172-18-21-195:/tmp# echo "obase=2;$n" | bc
1100100
root@172-18-21-195:/tmp# n2=1100100
root@172-18-21-195:/tmp# echo "obase=10;ibase=2;$n2" | bc
100

shell 数学计算的N个方法

原文:https://www.cnblogs.com/liaojiafa/p/11456551.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!