0

Doubleにより大きい値が割り当てられた場合、Java はどのように状況を処理しDouble.MAX_VALUEますか?

標準的な動作が指定されていますか?

4

2 に答える 2

9

はい、言語仕様 #4.2.4で定義されています。

オーバーフローする浮動小数点演算は、符号付き無限大を生成します。

ダブルスの場合、結果は になりますDouble.POSITIVE_INFINITY

ただし、コンパイル時にそのような大きな値を double に代入しようとすると、コンパイル エラーが発生することに注意してください。

double d = 1e100; //ok
double d = 1e300 * 1e300; //Double.POSITIVE_INIFINITY
double d = 1e900; //does not compile

非常に大きな数を処理する必要がある場合は、 も使用できますBigDecimal

于 2013-07-15T14:40:30.580 に答える