| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2212 人关注过本帖
标题:为什么浮点数5.4都不能精确的存储 - -!
只看楼主 加入收藏
Amycoa
Rank: 2
等 级:论坛游民
帖 子:18
专家分:56
注 册:2012-10-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
为什么浮点数5.4都不能精确的存储 - -!
为什么浮点数5.4都不能精确的存储 - -!
我用的是VS2012,"float x = 5.4;"
调试的时候发现x储存的是5.40000010

重点是 5.4  这个数为什么不能精确存储,它是怎么储存进计算机的.

[ 本帖最后由 Amycoa 于 2012-11-1 15:00 编辑 ]
搜索更多相关主题的帖子: 计算机 
2012-11-01 14:56
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
为什么浮点数都强调一个精度的问题

浮点数本来就不能像笔算那样准

DO IT YOURSELF !
2012-11-01 14:59
a635958000
Rank: 4
等 级:业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
收藏
得分:15 
因为计算机内部在定义其浮点型时就规定其在小数点后面应该保留几位有效数字,像vc6.0就规定小数点后要保留6位。因此不可能只是输出5.4。
2012-11-01 15:05
Amycoa
Rank: 2
等 级:论坛游民
帖 子:18
专家分:56
注 册:2012-10-27
收藏
得分:0 
以下是引用a635958000在2012-11-1 15:05:11的发言:

因为计算机内部在定义其浮点型时就规定其在小数点后面应该保留几位有效数字,像vc6.0就规定小数点后要保留6位。因此不可能只是输出5.4。
看了一些资料,你的回答对于初学者是最清晰易懂的,谢谢

C/ASM ReGo ! .. ...Amy.Coa
2012-11-01 15:12
Amycoa
Rank: 2
等 级:论坛游民
帖 子:18
专家分:56
注 册:2012-10-27
收藏
得分:0 
还是百度知道好用,同时也知道论坛与百度知道的区别了;

以下为百度知道的答案
例:十进制43.625转换成 二进制 八进制 十六进制的详细过程
整数部分(43)转换成二进制:
43/2=21......1
21/2=10......1
10/2=5......0
5/2=2......1
2/2=1......0
1/2=0......1
小数部分(.625)转换成二进制:
.625x2=1.25
.25x2=0.5
.5x2=1.0
结果:43.625(十)=101011.101(二)

C/ASM ReGo ! .. ...Amy.Coa
2012-11-01 22:02
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
收藏
得分:0 
回复 5楼 Amycoa
说说什么区别啊
2012-11-01 23:25
快速回复:为什么浮点数5.4都不能精确的存储 - -!
数据加载中...
 
   



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

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