Мантисса имеет неявное начало в один бит. Это позволяет избежать потери одного бита памяти для бита, который всегда равен единице (за исключением уменьшенных значений с плавающей запятой, которые являются особым случаем, когда все показательные биты равны нулю).
Обратите внимание, что неявная первая цифра возможна только в двоичном виде. Например. в десятичном виде у вас может быть 3.14e + 2, и вы не можете просто выбросить первую цифру (3), потому что вы не знаете, какое число (1-9 это было больше.
)
Например, значение с плавающей запятой seeemmmmm будет читаться как (в псевдокоде в стиле C)
(s ? -1 : 1) * ((binary)1mmmmm << ((binary)eee - bias));
Где смещение является константой для этого конкретного типа с плавающей запятой, так что все значения экспоненты (eee) могут быть положительными, а 000 - самым отрицательным показателем.
Таким образом, вы можете вычислить максимальное значение на 0b111111 (на один бит больше, чем в мантиссе), смещенное на максимальное значение (несмещенное) показателя степени. Минимальное значение совпадает с отрицательным знаком.