可能永远result
是假的,因为4 / 2.0
可能会返回类似的东西1.99999999
?比标题更笼统:
int a = // any valid int
int b = // any valid int
boolean result = (a/(double)b) >= a/b;
如果这是可能的,任何人都可以提供一个a
和的例子b
吗?如果这不可能,是否有任何 java 或浮点规范可以证明这一点?
几分钟前我写了这个逻辑,突然担心它会崩溃。我一直无法打破它,但我想知道它是否在所有 JVM 中都能得到保证。