Конечно, следующее зависит от реализации, но если числа ведут себя как что-то вроде того, что указывает IEEE-754, числа с плавающей запятой не переполняются и не переполняются до дико неправильного ответа, например, целые числа, например, вы действительно не должны заканчивать двумя положительными числами, умноженное на отрицательное число.
Вместо этого переполнение означает, что результат «слишком велик для представления». В зависимости от режима округления это либо обычно получает макс. Float (RTZ), либо Inf (RNE):
0 110 1111 * 0 110 1111 = 0 111 0000
(Обратите внимание, что переполнение целых чисел, как вы знаете, могло быть устранено на аппаратном обеспечении, применяя аналогичную операцию зажима, это просто не соглашение.)
При работе с числами с плавающей запятой термин underflow означает, что число «слишком мало для представления», что обычно приводит к 0,0:
0 000 0001 * 0 000 0001 = 0 000 0000
Обратите внимание, что я также слышал, что термин underflow используется для переполнения до очень большого отрицательного числа, но это не лучший термин для него. Это пример того, когда результат отрицательный и слишком большой для представления, т. Е. «Отрицательное переполнение»:
0 110 1111 * 1 110 1111 = 1 111 0000