判断浮点数为0的方法的原理

在C++中判断一个浮点数方法不是a!=0 而是 max1<1e-10 请问是什么原因呢??为什么要这样判断才正确呢??

浮点数不能被精确表示,比如0也是,真实值可能为-0.0000005或者0.0000001 (随便举的例子)
判断为0的原理是该数非常接近0,原则上是无限接近0,取极限就认为其是0了
应该是该浮点数的绝对值小于那个1e-10
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-08
浮点数不能被精确表示,比如0也是,真实值可能为-0.0000005或者0.0000001 (随便举的例子)
判断为0的原理是该数非常接近0,原则上是无限接近0,取极限就认为其是0了
应该是该浮点数的绝对值小于那个1e-10
第2个回答  2011-07-16
移码是针对原码来说的,而不是补码。而原码的范围是-127-127这样通过移码就成了0-254了,也就这范围中了。
希望对你有帮助!
相似回答