3.5 关系运算符 小注意

from http://www.learncpp.com/cpp-tutorial/35-relational-operators-comparisons/

关系运算符的比较需要注意的就是浮点型数值的比较。小的舍入的误差可能会造成预料之外的结果。特别是在比较两个浮点数是否相等的情况下,使用==操作符进行比较就不被建议使用的。一种常用的解决方法是,考虑当两个数足够接近时,就认为它们是相等的。

   1: bool IsEqual(double dX, double dY)
   2: {
   3:     const double dEpsilon = 0.000001; // or some other small number
   4:     return fabs(dX - dY) <= dEpsilon * fabs(dX);
   5: }
posted @ 2012-05-14 10:49  grassofsky  阅读(176)  评论(0编辑  收藏  举报