5

javaはいつInfinityを出力し、いつNaNを出力しますか?

1.0/0.0 が無限大であるのに ((1.0/0.0) - (1.0/0.0)) NaN であり、0.0f/0.0f が NaN であるのはなぜですか?

これら2つの違いは何ですか?

4

3 に答える 3

10

Java は既知の数学の事実に従っているからです。1.0 / 0.0 はinfinityですが、それ以外はindeterminate formsであり、Java ではNaN(数値ではなく) 表現されます。

于 2013-03-05T00:44:31.363 に答える
2

Javaは、現在のほとんどの浮動小数点ハードウェアと一致するIEEE 754仕様に準拠しています。

于 2013-03-05T00:52:03.570 に答える
1

1.00/0 は無限大になりますが、無限大マイナス無限大は数値ではありません。

于 2013-03-05T00:44:21.927 に答える