搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 为什么说比较两个浮点数是否相等是不安全的?
标题:
为什么说比较两个浮点数是否相等是不安全的?
只看楼主
wibrst
等 级:
新手上路
帖 子:1
专家分:0
注 册:2008-12-9
楼主
问题点数:0 回复次数:6
为什么说比较两个浮点数是否相等是不安全的?
请指点!
搜索更多相关主题的帖子:
浮点数
相等
安全
2008-12-12 12:27
debroa723
等 级:
贵宾
威 望:
23
帖 子:862
专家分:1954
注 册:2008-10-12
第
2
楼
得分:0
浮点数在计算机存储设备上是有误差的,我们在考虑到精度不大的情况下,比较两浮点数是否相等使用的方法是:
if( (f1-f2) < 0.0001f && (f1-f2) > -0.0001f )
{
//在精度为小数点后四位的要求下,这两个数视为相等
}
2008-12-12 14:21
峻峰
等 级:
新手上路
帖 子:27
专家分:0
注 册:2008-11-18
第
3
楼
得分:0
浮点数的精确度不像整数那样
浮点数只要小数点后面一个数字对不上号,就不能划等号的。
只能精确近视等于,方法就像版主说的那样,
那条式子,其实就是数学上在数轴上面,两个数字的距离。
2008-12-12 18:35
hitcolder
等 级:
新手上路
威 望:
1
帖 子:124
专家分:0
注 册:2008-10-28
第
4
楼
得分:0
学习了!
不要在你的智慧中夹杂傲慢,也不要使你们的谦卑缺乏智慧的成分。
2008-12-13 15:25
Woodswift
等 级:
新手上路
帖 子:6
专家分:0
注 册:2008-12-13
第
5
楼
得分:0
RE:
浮点数做相等判断的时候是和数学意义下不同的,因为数据在计算机内以二进制存储,浮点数和二进制数并不一一对应。
2008-12-13 16:24
p1s
等 级:
贵宾
威 望:
10
帖 子:454
专家分:3
注 册:2005-11-4
第
6
楼
得分:0
误差问题,呵呵。浮点数的范围更大,但是并不是绝对精确。
.cn" target="_blank">《易学C++》,初学者学习C++的最佳读本。
2008-12-13 19:14
隨心所欲
等 级:
新手上路
帖 子:7
专家分:0
注 册:2008-12-13
第
7
楼
得分:0
2008-12-13 22:48
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-248924-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.769245 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved