Можно ли нормализовать систему с плавающей запятой с дополнениями Мантиссы 2 или 1?

Как я понимаю, нормализованная мантисса - это дробная мантисса, в которой ее более значимый бит, равный 1/2, всегда равен 1. И это делается для того, чтобы избежать повторного представления одного и того же числа в системе.

Но что произойдет, если Мантисса использует систему дополнения 2 или 1? В этом случае, если число отрицательное, установка этого бита в 1 приведет к тому, что у этого бита будет нулевое значение, что сделает его не выполненным. Другое решение состояло бы в том, чтобы заставить его быть 0 в случае, если число отрицательное, но я представляю, что физическая реализация этого может стать сложной. И это заставляет меня задуматься, существует ли вообще система с нормализованной мантиссой комплемента 2 или 1? И если они существуют, как они работают?

1 ответ

Можно ли нормализовать систему с плавающей запятой с дополнениями Мантиссы 2 или 1?

Да - все виды кодировок возможны. Было опробовано много кодировок с плавающей точкой - возможно, даже с мантиссой Complements из 2 или 1. Тем не менее, наиболее популярные форматы с плавающей запятой содержат знак, знак без знака и показатель степени.


Чтобы прояснить некоторые (неправильные) понимания:

нормализованная мантисса - это дробная мантисса, в которой ее более значимый бит, равный 1/2, всегда равен 1

Примечание: лучше использовать значимое / значительное, чем мантисса.

Форматы с плавающей запятой, такие как binary64, делают различие между значением знака и его кодированием.

Ценность значения m 53 бита - обычно считается двоичным числом как B.bbb...bbb. Нижние 52 кодируются напрямую. Самый значительный B является производным Когда смещенный показатель не равен 0, самый старший бит равен 1 (нормальные числа). Иначе это 0 (субнормальные числа).

Самый старший бит значения не всегда равен 1. Самый старший бит кодированного 52-битного значения тоже не всегда равен 1.

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

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

Да, но косвенно. Цель хорошего формата с плавающей запятой - закодировать множество различных значений с минимальным пространством. Любые повторные представления уменьшат эту эффективность. Нет или несколько повторных представлений - результат цели эффективности использования пространства.

Но что произойдет, если Мантисса использует систему дополнения 2 или 1? В этом случае, если число отрицательное, установка этого бита в 1 приведет к тому, что у этого бита будет нулевое значение, что сделает его не выполненным.

Это любопытно, как "мантисса", signicand без знака. Тем не менее, давайте объединим бит знака и signicand вместе как знак мантиссы, как есть sB.bbb...bbb, Изменение этого до некоторого 54-битного дополнения 2 подразумевает, что производное B 1 для положительных чисел и 0 для отрицательных. Да, принуждение B 1 - плохой выбор дизайна, и ни того, ни другого не требуется.

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

Да, это будет 0 в случае отрицательных чисел для нормальных чисел. Не существует слишком сложных проблем, препятствующих физической реализации - на самом деле, это довольно тривиально. Тем не менее, нет альтернативы этому альтернативному подходу. Если бы у вас была куча денег для реализации следующего процессора с большой способностью к плавающей запятой - вы бы сделали ставку на обычные форматы с плавающей запятой по знаковой величине или попробовали бы дополнить их двумя?

... существует ли вообще система с нормализованной мантиссой комплемента 2 или 1?

Как служит память, это было реализовано. Тем не менее, по незначительным или серьезным причинам, распространенные форматы с плавающей запятой сегодня не используют значение 2 в дополнении. Давление дарвиновских технологий привело к тому, что в отрасли преобладает знак с плавающей запятой. Ключевые события привели к выпуску IEEE 754-1985. Здесь подробно описаны многие углы с плавающей запятой, но также написано, чтобы отразить основные цели производителей оборудования в то время. 2 или 1 дополняют мантиссу вместе со многими другими форматами с плавающей точкой пропустили лодку.

Другие вопросы по тегам