| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 593 人关注过本帖, 1 人收藏
标题:关于34.6-34.0=0.5999985的计算过程
只看楼主 加入收藏
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
结帖率:100%
收藏(1)
 问题点数:0 回复次数:9 
关于34.6-34.0=0.5999985的计算过程
再算浮点数时,涉及到小数的处理,看了点资料,写了如下34.6-34.0=0.5999985的计算过程,麻烦大家看看对不对
————————————————————————我是分割线————————————————————————————————————————
34.6
对应二进制        100010.1001 1001 1001 1001 10
对应IEEE浮点数    1.00010 1001 1001 1001 1001 10(指数域为5,即5+127=132,对应为1000 0100)
IEEE标准机器表示  0 10000100 00010100110011001100110        ————编号A
34.0
对应二进制        100010.0000 0000 0000 0000 00
对应IEEE浮点数    1.00010 0000 0000 0000 0000 00(指数域为5,即5+127=132,对应为1000 0100)
IEEE标准机器表示  0 10000100 00010000000000000000000        ————编号B
用A的尾数域减去B的尾数域    00000100110011001100110
所以34.6-34.0的结果对应的IEEE标准机器表示为    0 10000100 00000100110011001100110        ————编号C
编号C对应为 2的-1次方+2的-4次方+2的-5次方+2的-8次方+2的-9次方+2的-12次方+2的-13次方+2的-16次方+2的-17次方    ————编号D
编号D的计算结果为0.59999847412109375        ————编号E
编号E根据“向最近有效位取舍原则”为0.5999985  (7进1,加在4上,变为5)
所以结果为0.5999985(因为0.6在转换成二进制的时候,永远都不能精确,只是依据IEEE原则和整数部分一起保留了23位有效数,所以在二进制表示上,精度为23位,当转换为十进制时,保留小数点后7位有效数字所以得到这样的结果)
————————————————————————我是分割线————————————————————————————————————————
以上是我想的计算过程,请问
       这样的计算过程对不?


   
2009-11-03 12:44
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:0 
我的天
底层·````````
2009-11-03 12:46
dengjun000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2009-10-14
收藏
得分:0 
我一直很好奇头像是不是你本人?
2009-11-03 12:53
rexzheng
Rank: 2
等 级:论坛游民
帖 子:32
专家分:13
注 册:2009-10-26
收藏
得分:0 
同上!
2009-11-03 14:34
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1687
专家分:4253
注 册:2007-12-27
收藏
得分:0 
回复 楼主 pgy
对,就是这么算的

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2009-11-03 15:28
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
回复 5楼 forever74
谢谢

我可好玩啦...不信你玩玩^_^
2009-11-03 15:35
fuqingjun
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:48
专家分:80
注 册:2009-11-2
收藏
得分:0 
好帖子,你学汇编呢还是其他底层编程?

我是猪猪,我很想进步,寻志同道合者革命途中并肩行路!
2009-11-03 15:50
lrf123000
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-11-3
收藏
得分:0 
真是 受教了  接3楼 的 问题  头像 是你本人
2009-11-04 00:19
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
看不懂

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2009-11-04 15:53
tiansky55
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-12
收藏
得分:0 
把0.6转为二进制再转回来是多少?应该就是这个数吧
2009-11-04 18:04
快速回复:关于34.6-34.0=0.5999985的计算过程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033712 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved