javaはいつInfinityを出力し、いつNaNを出力しますか?
1.0/0.0 が無限大であるのに ((1.0/0.0) - (1.0/0.0)) NaN であり、0.0f/0.0f が NaN であるのはなぜですか?
これら2つの違いは何ですか?
javaはいつInfinityを出力し、いつNaNを出力しますか?
1.0/0.0 が無限大であるのに ((1.0/0.0) - (1.0/0.0)) NaN であり、0.0f/0.0f が NaN であるのはなぜですか?
これら2つの違いは何ですか?
Java は既知の数学の事実に従っているからです。1.0 / 0.0 はinfinityですが、それ以外はindeterminate formsであり、Java ではNaN
(数値ではなく) 表現されます。
Javaは、現在のほとんどの浮動小数点ハードウェアと一致するIEEE 754仕様に準拠しています。
1.00/0 は無限大になりますが、無限大マイナス無限大は数値ではありません。