标题:怎样判定一个float型的数是否为0
只看楼主
放弃那个阿姨
Rank: 2
等 级:论坛游民
帖 子:41
专家分:75
注 册:2009-9-29
结帖率:100%
已结贴  问题点数:20 回复次数:3 
怎样判定一个float型的数是否为0
有看到书上说。
让abs(a)与1e-6做比较。
诺小于,为0,
大于,不为0 。
搜索更多相关主题的帖子: float 
2009-10-02 16:07
zhangxf1989
Rank: 6Rank: 6
等 级:侠之大者
帖 子:96
专家分:419
注 册:2009-9-5
得分:10 
这个好像与float类型的精度有关,一般float型只能精确到小数到后六位即1e-6,将float型的数a的绝对值abs(a)与1e-6比较,如果abs(a)比1e-6还要小的话就可以认为a的值为零,因为小数六位以后是不精确的,是没有意义的。比如数0.0000001虽然确实不等于零,但是第七位小数1是没有意义的就可以认为这个数等于0。
2009-10-02 16:21
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
得分:10 
是有效数字的问题。
就跟分辨率一样,有个界限,比电脑能识别的数还小,电脑就认为是零了,虽然实际上不是零,但电脑“看不出来”。呵呵。
2009-10-02 16:26
放弃那个阿姨
Rank: 2
等 级:论坛游民
帖 子:41
专家分:75
注 册:2009-9-29
得分:0 
感谢楼上的2位。
2009-10-02 22:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-287453-1-1.html




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

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