Плавающая точка: "Ведущий 1 является" неявным "в значении". -... да?

Я узнаю о представлении чисел с плавающей точкой IEEE 754, и в моем учебнике говорится:

Чтобы упаковать еще больше битов в значение, IEEE 754 делает неявные ведущие 1-битные нормализованные двоичные числа. Следовательно, число на самом деле составляет 24 бита в одной точности (подразумеваемая 1 и 23-битная фракция) и 53 бит в двойной точности (1 + 52).

Я не понимаю, что означает "неявный" здесь... какая разница между явным битом и неявным битом? Не все ли цифры имеют бит, независимо от их знака?

Ответы

Ответ 1

Да, все нормированные числа (кроме нулей) имеют этот бит, установленный в один (a) поэтому они делают его неявным, чтобы предотвратить его использование.

Другими словами, они полностью сохраняют этот бит и повторно используют его, чтобы его можно было использовать для повышения точности ваших чисел.

Имейте в виду, что это первый бит фракции, а не первый бит двоичного паттерна. Первый бит двоичного шаблона - это знак, за которым следуют несколько битов экспоненты, за которыми следует сама фракция.

Например, одно число точности (знак, показатель, доля):

<1>  <--8--->  <---------23---------->  <- bit widths
 s   eeeeeeee  fffffffffffffffffffffff

Если вы посмотрите, как рассчитывается число, это:

(-1)sign x 1.fraction x 2exponent-bias

Таким образом, дробная часть, используемая для вычисления этого значения, равна 1.fffff...fff (в двоичном выражении).


(a) На самом деле существует класс чисел (денормализованные и нули), для которых это свойство не выполняется. Все эти цифры имеют предвзятый показатель нуля, но подавляющее большинство чисел соответствует правилу.

Ответ 2

Вот что они говорят. Первый ненулевой бит всегда будет равен 1. Таким образом, нет необходимости, чтобы двоичное представление включало этот бит, поскольку вы знаете, что это такое. Так они и не делают. Они сообщают вам, где это первое 1, а затем они дают бит после него. Таким образом, есть 1, который явно не указан в двоичном представлении, местоположение которого неявно связано с тем, что они сказали вам, где он был.

Ответ 3

Также может быть полезно отметить, что мы имеем дело с двоичными представлениями числа. Причина, по которой первая цифра нормализованного двоичного числа (то есть никаких начальных нулей) должна быть равна 1, состоит в том, что 1 является единственным ненулевым значением, доступным нам в этом представлении. Таким образом, то же самое было бы неверно, например, для представлений базы три.