| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3201 人关注过本帖
标题:为什么说比较两个浮点数是否相等是不安全的?
只看楼主 加入收藏
wibrst
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-12-9
收藏
 问题点数:0 回复次数:6 
为什么说比较两个浮点数是否相等是不安全的?
请指点!
搜索更多相关主题的帖子: 浮点数 相等 安全 
2008-12-12 12:27
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
浮点数在计算机存储设备上是有误差的,我们在考虑到精度不大的情况下,比较两浮点数是否相等使用的方法是:
if( (f1-f2) < 0.0001f && (f1-f2) > -0.0001f )
{
     //在精度为小数点后四位的要求下,这两个数视为相等
}
2008-12-12 14:21
峻峰
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-11-18
收藏
得分:0 
浮点数的精确度不像整数那样
浮点数只要小数点后面一个数字对不上号,就不能划等号的。
只能精确近视等于,方法就像版主说的那样,
那条式子,其实就是数学上在数轴上面,两个数字的距离。
2008-12-12 18:35
hitcolder
Rank: 1
等 级:新手上路
威 望:1
帖 子:124
专家分:0
注 册:2008-10-28
收藏
得分:0 
学习了!

不要在你的智慧中夹杂傲慢,也不要使你们的谦卑缺乏智慧的成分。
2008-12-13 15:25
Woodswift
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-12-13
收藏
得分:0 
RE:
浮点数做相等判断的时候是和数学意义下不同的,因为数据在计算机内以二进制存储,浮点数和二进制数并不一一对应。
2008-12-13 16:24
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
误差问题,呵呵。浮点数的范围更大,但是并不是绝对精确。
2008-12-13 19:14
隨心所欲
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-12-13
收藏
得分:0 
2008-12-13 22:48
快速回复:为什么说比较两个浮点数是否相等是不安全的?
数据加载中...
 
   



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

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