Как мы можем проверить, не превысит ли арифметическая операция верхние границы типа данных, перед ее фактическим применением.
Скажем, верхний предел для краткости в java равен 32767, и я умножаю 328 *на 100, я не могу сравнить с Short.MAX_VALUE
, потому что после умножения ответ уже будет переполнен, и ответ будет -32736, что, безусловно, меньше, чемShort.MAX_VALUE
Возьмем другой пример, скажем, я получаю int
значение вычисления 17^10 (17 в степени 10 )в цикле for. Как узнать, на каком этапе мой ответ переполнился.
Эти Short
и int
— просто пример. Подумайте об этой проблеме в более широком смысле, что именно можно сделать для всех типов данных.
Я пробовал гуглить, но не нашел хорошей ссылки, которая помогла бы понять концепцию.