Doppelter Maximalwert in Java

Mohammad Irfan 12 Oktober 2023
Doppelter Maximalwert in Java

In diesem Tutorial wird eingeführt, was in Java ein doppelter Maximalwert ist und wie ein Maximalwert für den Datentyp double in Java berechnet wird.

Double ist ein Datentyp in Java, der Gleitkommawerte speichert. Seine Größe beträgt 16 Byte und kann verwendet werden, um den größten Wert in Java zu speichern.

Java stellt eine Konstante MAX_VALUE im Double-Wrapper bereit, die verwendet werden kann, um den maximalen Gleitkommawert zu erhalten. Es stellt einen maximalen Wert dar, den ein Double-Typ aufnehmen kann.

Der Java-Doppeltyp folgt der Spezifikation IEEE 754 und verwendet seine 52 binären Bits, um den Mantissenteil des Wertes zu halten. Lassen Sie uns den maximalen Wert des Doubles anhand einiger Beispiele verstehen.

Java Double Max-Wert

In diesem Beispiel haben wir die Konstante Double.MAX_VALUE verwendet und den größten Wert erhalten, den ein Double-Typ in Java aufnehmen kann. Siehe das Beispiel unten.

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

Ausgabe:

1.7976931348623157E308

Sehen wir uns an, was passiert, wenn wir dem max_value einen Wert hinzufügen. Wenn wir versuchen, sogar 1,01 hinzuzufügen, ändert sich der max_value nicht und die Variable enthält nur den max_value. Das bedeutet, dass das Hinzufügen von Werten zum Verdoppeln den Bereich nicht überschreitet. Siehe das Beispiel unten.

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);
  }
}

Ausgabe:

1.7976931348623157E308
1.7976931348623157E308

Aber warte. Wenn wir den Double.MAX_VALUE mit 1,01 multiplizieren, dann geht es ins positive unendlich, dh wenn wir versuchen, einen grösseren Wert als max_value zuzuweisen, geht es ins positive unendlich.

Wenn Sie also mit double arbeiten, müssen Sie mit der Grenze von max_value vorsichtig sein; andernfalls tendiert es ins Unendliche. Siehe das Beispiel unten.

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);
  }
}

Ausgabe:

1.7976931348623157E30
Infinity