Floating point 是否应该将浮点值与0.0进行比较

Floating point 是否应该将浮点值与0.0进行比较,floating-point,compare,Floating Point,Compare,请记住,浮点数不能与==和常量进行比较,因为该常量可能不存在浮点数表示形式。0.0也是这样吗?或者大多数(或所有)浮点引擎是否有0.0的特殊表示 我正在寻找语言、IEEE规范或浮点引擎,无论它们是否起作用。更好的方法是将两个浮点值之间差值的绝对值与一个小(ε)值进行比较,而不是将其与零进行比较: private static final double EPSILON = 1.0e-6; if (Math.abs(x-y) < EPSILON) { // process here }

请记住,浮点数不能与==和常量进行比较,因为该常量可能不存在浮点数表示形式。0.0也是这样吗?或者大多数(或所有)浮点引擎是否有0.0的特殊表示


我正在寻找语言、IEEE规范或浮点引擎,无论它们是否起作用。

更好的方法是将两个浮点值之间差值的绝对值与一个小(ε)值进行比较,而不是将其与零进行比较:

private static final double EPSILON = 1.0e-6;

if (Math.abs(x-y) < EPSILON) {
   // process here
}
private static final double EPSILON=1.0e-6;
if(数学绝对值(x-y)

x或y等于零的值是特殊情况。

更好的方法是将两个浮点值之间差值的绝对值与一个小(ε)值进行比较,而不是将其与零进行比较:

private static final double EPSILON = 1.0e-6;

if (Math.abs(x-y) < EPSILON) {
   // process here
}
private static final double EPSILON=1.0e-6;
if(数学绝对值(x-y)

x或y等于零的值是特殊情况。

零保证在任何IEEE-754系统上都可以表示,而且我知道没有其他浮点系统中零不能精确表示。这并不是说这样一个系统不可能存在,但这将是非常不寻常的。

零保证在任何IEEE-754系统上都是可表示的,而且我知道没有其他浮点系统中零不完全是可表示的。这并不是说这样的系统不可能存在,但这将是非常不寻常的。

谢谢,这是一个更好的主意。我们只是在这里讨论0.0是否有特殊处理。有更新的问题。谢谢,这是一个更好的主意是的。我们只是在这里讨论0.0是否有特殊处理。有更新的问题。