のようなものを返す可能性がresult
あるため、falseになる可能性がありますか?タイトルよりも一般的に: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で保証されているかどうか疑問に思っています。