Согласно стандарту, переполнение в Java обрабатывается с использованием специального значения, называемого Infinity, но здесь сумма 3,4028235E38. Почему это так?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));
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... h-infinity