Что такое переполнение и переполнение в плавающей точке

Я чувствую, что не очень понимаю концепциюoverflow а такжеunderflow, Я задаю этот вопрос, чтобы уточнить это. Мне нужно понять это на самом базовом уровне с битами. Давайте работать с упрощенным представлением с плавающей точкой1 байт -1 бит знак,3 биты экспоненты и4 биты мантиссы:

0 000 0000

Максимальный показатель, который мы можем хранить,111_2=7 минус уклонK=2^2-1=3 который дает4и зарезервировано дляInfinity а такжеNaN, Экспонента для максимального числа3, который110 бинарное смещение

Таким образом, битовый шаблон для максимального числа:

0 110 1111 // positive
1 110 1111 // negative

Когда показатель равен нулю, число является субнормальным и имеет неявный0 вместо1, Таким образом, битовый шаблон для минимального числа:

0 000 0001 // positive
1 000 0001 // negative

Я нашел эти описания для плавающей запятой одинарной точности:

Negative numbers less than −(2−2−23) × 2127 (negative overflow)
Negative numbers greater than −2−149 (negative underflow)
Positive numbers less than 2−149 (positive underflow)
Positive numbers greater than (2−2−23) × 2127 (positive overflow)

Из них я понимаю толькоположительное переполнение что приводит к+Infinityи пример будет таким:

0 110 1111 + 0 110 1111 = 0 111 0000 

Может ли кто-нибудь продемонстрировать три других случая переполнения и переполнения, используя битовые комбинации, которые я описал выше?

Ответы на вопрос(1)

Ваш ответ на вопрос