Warum erreicht das Hinzufügen eines Werts zu Float.max_Value nicht unendlich?
Posted: 19 Aug 2025, 08:44
Nach dem Standard wird der Überlauf in Java unter Verwendung eines speziellen Wertes bezeichnet, der als Infinity bezeichnet wird, aber hier ist die Summe 3,4028235E38. Warum ist das der Fall?
Code: Select all
public class FloatingPointTest {
public static void main(String[] args) {
float a = Float.MAX_VALUE;
float b = 1_000_000_000f; // Note the 'f' to ensure it's a float literal
float sum = a + b;
System.out.println("Float.MAX_VALUE: " + a);
System.out.println("Large number: " + b);
System.out.println("Sum: " + sum);
System.out.println("Is sum equal to Float.POSITIVE_INFINITY? " + (sum == Float.POSITIVE_INFINITY));
}
}