У меня есть следующий код на Java, но он переполняется, когда это не должно. Зачем?Моя программа не работает должным образом
public classO {
public static void main(String[] args) {
int big = Integer.MAX_VALUE;
System.out.println("big = " + big);
long bigger = big + 2;
System.out.println("bigger = " + bigger);
}
}
я получаю этот выход:
big = 2147483647
bigger = -2147483647
Почему это переполнение? Я определил больше как длинный. Что не так?
Вы можете найти лучший заголовок (более конкретное описание вашей проблемы). – Joop
Сначала он выполняет добавление целого числа (ассоциативность = от R до L), а затем назначает длинные. Вы можете набрать текст и использовать этот оператор как длинный более крупный = (длинный) большой + 2; – SMA
@Sempliciotto: Пожалуйста, подумайте о том, чтобы принять ответ, щелкнув галочку ниже пунктов голосования, если он исправит вашу проблему. Также проверьте свои другие вопросы, если вы можете принять и ответить. Это показывает другим пользователям, что ваша проблема решена. На все ваши вопросы есть ответы, но вы их никогда не принимали. – Simulant