我遇到了一个相当奇怪的问题。事情的本质在于比较两个浮点数的错误。准确地说,这两个数字都是长双打。所以,当我在屏幕上显示这些数字时,两个数字都显示为 A 和 A,但是当比较时,它给出了错误,即 (A == A) = 错误。因此,问题是:在这种情况下该怎么办?
我遇到了一个相当奇怪的问题。事情的本质在于比较两个浮点数的错误。准确地说,这两个数字都是长双打。所以,当我在屏幕上显示这些数字时,两个数字都显示为 A 和 A,但是当比较时,它给出了错误,即 (A == A) = 错误。因此,问题是:在这种情况下该怎么办?
要比较浮点数
std::abs(a - b) < delta
,其中 delta 是所需的精度。如果可能出现 inf 或 nan 情况,请分别处理。