关于浮点数的小常识

浮点数不能直接用==来判断是否相等,但可以用< 或 >来确定大小。确定两个浮点数相等和精确度有关。可以用标准C99提供的几个精度常量来判断是否相等。

float.h

FLT_EPSILON  float精度
DBL_EPSILON double精度
LDBL_EPSILON   long double精度

 

如:

 

bool DoubleEquel(double a, double b)

{

        return abs(a - b) < DBL_EPSILON;

}

 

a和b的绝对值小于DBL_EPSILON就认为是相等的。

 

 

 

 

你可能感兴趣的:(关于浮点数的小常识)