Согласно стандарту, переполнение в Java обрабатывается с использованием специального значения, называемого Infinity, но здесь сумма 3,4028235E38. Почему это так? < /P>
public class FloatingPointTest {
public static void main(String[] args) {
float a = Float.MAX_VALUE;
float b = 1000000000f; // 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 ... t-infinity