Как Java обрабатывает целочисленные переполнения и переполнения?
Я понимаю, переполнения в Java, но что называется недополнения? и как ява справится с этим?
2 ответа
Underflow - полная противоположность переполнению.
int high = Integer.MAX_VALUE;
int overflow = high + 1;
int low = Integer.MIN_VALUE;
int underflow = low - 1;
И вы поступаете так же: вы убедитесь, что входные данные не приведут вас к диапазону переполнения / переполнения, и предупредите пользователя о потенциальных недостатках. (Рассматривать Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE
например.)
Цитируя Википедию:
Термин арифметическое недопущение (или "недополнение с плавающей запятой", или просто "недополнение") - это условие в компьютерной программе, которое может возникнуть, когда истинный результат операции с плавающей запятой меньше по величине (то есть ближе к нулю), чем наименьшее значение, представляемое в виде обычного числа с плавающей запятой в целевом типе данных.
Другие, кажется, думают, что недостаточный уровень является полной противоположностью избыточного, но я никогда не видел это определение.