关于浮点数相等的判断
因为浮点数的精度计算太过复杂
像3.14这样的数存在浮点型变量里存的可能是3.139999999,也有可能是3.140000001
所以不能直接用“==”判断两个浮点数是否相等。
在这种情况下,就允许判断两个浮点数为相等时,两数之间存在微小的误差
这个“微小的误差”要取一个较小的数
比如1e-8
这样就不会判不出也不会误判了
const double eps=1e-8;
bool eq(double x,double y){
return fabs(x-y)<eps;
}
查错查了半天才发现打成了const int eps