可以result
永遠是假的,因爲4/2.0
可能會返回類似1.99999999
?更普遍比標題:浮點錯誤會導致'a /(double)b> = a/b'失敗嗎?
int a = // any valid int
int b = // any valid int
boolean result = (a/(double)b) >= a/b;
如果這是可能的,任何人都可以提供的a
和b
的例子嗎?如果這是不可能的,是否有Java或浮點規範證明了這一點?
我幾分鐘前寫了這個邏輯,並且突然擔心它突破。我一直無法打破它,但我想知道是否可以跨所有JVM保證。
非常感謝您的迴應! – 2013-03-12 06:29:32