剑指offer:
第26题:数的子结构
计算机表示小数(float、double)都有误差,不能直接用==比较是否相等,而是要通过两个小数的差的绝对值在一个很小的范围内就认为相等。
#define DIF (0.00000001)
int equal_double(double num1, double num2)
{
if( (num1-num2)<DIF) && (num1-num2)>-DIF))
return 0;
else
return 1;
}
也可参考博客:fabs(num1,num2)<DIF