比较两个 double
或两个 float
值的最有效方法是什么?
简单地这样做是不正确的:
bool CompareDoubles1 (double A, double B)
{
return A == B;
}
但是像:
bool CompareDoubles2 (double A, double B)
{
diff = A - B;
return (diff < EPSILON) && (-diff < EPSILON);
}
好像是废物处理。
有谁知道更智能的浮动比较器?
原文由 Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议
我使用以下函数进行浮点数比较: