当前位置: 技术问答>linux和unix
如何计算浮点除法?
来源: 互联网 发布时间:2016-06-29
本文导语: expr 4307008 / 4942201 结果为0 | # bc -lq 4307008 / 4942201 .87147568461905940288 | [qinguan@localhost ~]$ a=4307008 [qinguan@localhost ~]$ b=4942201 [qinguan@localhost ~]$ echo "scale=3;$a/$b"|bc .871 | 另一种是用...
expr 4307008 / 4942201
结果为0
结果为0
|
# bc -lq
4307008 / 4942201
.87147568461905940288
4307008 / 4942201
.87147568461905940288
|
[qinguan@localhost ~]$ a=4307008
[qinguan@localhost ~]$ b=4942201
[qinguan@localhost ~]$ echo "scale=3;$a/$b"|bc
.871
|
另一种是用awk。。。。
[qinguan@localhost ~]$ a=4307008
[qinguan@localhost ~]$ b=4942201
[qinguan@localhost ~]$ awk 'BEGIN{printf '$a'/'$b'}'
0.871476[
|
1.0* 4307008 / 4942201
or 4307008 / 4942201f
or 4307008 / 4942201f
|
顶一个。。。。。。
|
是个好办法
原理就是把数字转换成浮点先
|
整数除法当然是0了,
你写成 1.0/2或者2.0/1或者2.0/1.0,就是浮点除法了。这是C语言格式(自动)转换的问题,不是浮点除法的问题
你写成 1.0/2或者2.0/1或者2.0/1.0,就是浮点除法了。这是C语言格式(自动)转换的问题,不是浮点除法的问题