shell 中,用bc作浮点运算
来源:互联网 发布:景泰县人口数据 编辑:程序博客网 时间:2024/04/28 13:34
Bash 不能处理浮点运算,并且缺乏特定的一些操作,这些操作都是一些重要的计算功能.幸运的是,
这里有一个简单的使用 bc 命令的模版可以用来在计算脚本中的变量. 用在命令替换 中.
variable=$(echo "OPTIONS; OPERATIONS" |bc)
如:interest_rate=$(echo "scale=9; $interest_r/12 + 1.0" | bc)
13.4*45.6
的乘法,但是在计算除法的时候,无论你输入
5/3
还是
5/3.0
得到的结果都是
1
我也没有去看man手册,今天无意中发现了ibase这个变量,是bc使用的一个变量,表示输入的数字的进制,比如ibase=8,表示你输入的数是8进制的。
这让我很好奇,于是去看了man手册,原来他是可以做浮点除法的,只是默认不输出小数点后面的值,它同样采用了一个变量来控制--scale,其值表示输出多少位小数。另外一个和ibase对应的变量是obase,表示结果输出采用什么进制,默认是10进制。
给出几个例子,大家一看就明白了。
[root@lancy
8.5
[root@lancy bin]# echo "5/3; 5/3.1" |bc
1
1
[root@lancy bin]# echo "scale=2; 5/3" |bc
1.66
[root@lancy bin]# echo "ibase=10;obase=2; 4*6"|bc
11000
[root@lancy bin]# echo "ibase=2; 110*101; obase=10" |bc
30
[root@lancy bin]# echo "ibase=2; 11110; obase=2" |bc
30
注意:
先设置ibase的话,后边的obase赋值中的值是按ibase进行的。这句话是说,比如命令为:echo "ibase=16;obase=16;2A+2B"|bc -l,这句话里边,先设置了ibash为16,后边obase=16的赋值中的16其实是看成16进制来换算的,即十进制的22(0x16)
一般先最后设置ibase,ibase放在运算表达式之前。
如: obase=10;scale=5;ibase=2;11110- shell 中,用bc作浮点运算
- shell 浮点运算工具bc
- shell浮点运算工具bc
- shell中用bc进行浮点运算
- shell中用bc进行浮点运算
- shell中用bc进行浮点运算
- shell中用bc进行浮点运算
- shell脚本bc浮点数运算
- shell中浮点运算方式
- shell脚本中如何处理浮点运算
- shell中实现浮点数运算
- shell 之进行数学运算 let expr bc 中括号
- shell 使用bc解决浮点数计算
- linux shell bc命令 处理浮点数
- linux shell bc命令 处理浮点数
- SHELL 中的浮点运算
- shell 实现浮点运算
- Shell浮点数运算
- shell脚本学习的网站
- 使用mspaint改变图片大小的一个小技巧记录
- 每天一个Linux命令 ls(list)
- win7 关于远程桌面登陆的方法,相应服务的启动
- 【润乾】通用查询高级条件语句输入
- shell 中,用bc作浮点运算
- map和reduce 个数的设定 (Hive优化)经典
- Java 中的递归
- HashMap的工作原理
- shell批量杀死进程的通用方法
- hadoop测试题
- 很不错的IT网址
- delphi Tchart画图
- phoneGap 静态页面中简单的数据传递