Java double データ型の最大値

Mohammad Irfan 2023年10月12日
Java double データ型の最大値

このチュートリアルでは、Java の double データ型の最大値とは何か、および Java の double データ型の最大値を計算する方法を紹介します。

Double は、浮動小数点値を格納する Java のデータ型です。そのサイズは 16 バイトであり、Java で最大の値を保持するために使用できます。

Java は、最大浮動小数点値を取得するために使用できる Double ラッパーに定数 MAX_VALUE を提供します。ダブルタイプが保持できる最大値を表します。

Java の double 型は、IEEE 754 仕様に準拠し、52 のバイナリビットを使用して値の仮数部分を保持します。いくつかの例を使用して、double の最大値を理解しましょう。

Java の double データ型の最大値

この例では、Double.MAX_VALUE 定数を使用し、Java で double 型が保持できる最大値を取得しました。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    double max_value = Double.MAX_VALUE;
    System.out.println(max_value);
  }
}

出力:

1.7976931348623157E308

max_value に値を追加するとどうなるか見てみましょう。1.01 を追加しようとしても、max_value は変更されず、変数は max_value のみを保持します。これは、double に値を追加しても範囲がオーバーフローしないことを意味します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    double max_value = Double.MAX_VALUE;
    System.out.println(max_value);
    max_value = max_value + 1.01; // increment
    System.out.println(max_value);
  }
}

出力:

1.7976931348623157E308
1.7976931348623157E308

ちょっと待って。Double.MAX_VALUE に 1.01 を掛けると、正の無限大になります。つまり、max_value よりも大きな値を割り当てようとすると、正の無限大になります。

したがって、double を使用する場合は、max_value の制限に注意する必要があります。そうしないと、無限大になる傾向があります。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    double max_value = Double.MAX_VALUE;
    System.out.println(max_value);
    max_value = max_value * 1.01;
    System.out.println(max_value);
  }
}

出力:

1.7976931348623157E30
Infinity