Смещение двоичное - Offset binary
Двоичное смещение , также называемое избытком-K , избытком- N , избытком-e , избыточным кодом или смещенным представлением , является методом представления числа со знаком , где число n со знаком представлено битовой комбинацией, соответствующей беззнаковому числу n + K , K - значение смещения или смещения . Не существует стандарта для двоичного смещения, но чаще всего K для n- битного двоичного слова составляет K = 2 n -1 (например, смещение для четырехзначного двоичного числа будет 2 3 = 8). Следствием этого является то, что минимальное отрицательное значение представлено всеми нулями, "нулевое" значение представлено единицей в старшем разряде и нулем во всех других битах, а максимальное положительное значение представлено всеми единицами ( для удобства это то же самое, что и использование дополнения до двух, но с инвертированием самого старшего бита). Это также приводит к тому, что при операции логического сравнения получается тот же результат, что и при операции числового сравнения истинной формы, тогда как в нотации дополнения до двух логическое сравнение согласуется с операцией числового сравнения истинной формы тогда и только тогда, когда числа сравниваемые имеют одинаковый знак. В противном случае смысл сравнения будет инвертирован, и все отрицательные значения будут считаться большими, чем все положительные значения.
5-битный код Бодо, использовавшийся в ранних телеграфах с синхронным мультиплексированием, можно рассматривать как двоичный код Грея, отраженный смещением-1 ( избыток-1 ) .
Одним из исторически ярких примеров нотации смещения 64 ( превышения 64 ) была нотация с плавающей запятой (экспоненциальная) в компьютерах поколений IBM System / 360 и System / 370. «Характеристика» (показатель степени) имела форму семибитового числа избыточных 64 (старший бит того же байта содержал знак мантиссы ).
8-битная экспонента в двоичном формате Microsoft, формате с плавающей запятой, используемом в различных языках программирования (в частности, BASIC ) в 1970-х и 1980-х годах, была закодирована с использованием нотации смещения 129 ( избыток 129 ).
Стандарт IEEE для арифметики с плавающей точкой (IEEE 754) использует различные размеры экспонентов, но также использует смещение обозначения для формата каждой точности. Однако необычно, что вместо использования «превышение 2 n -1 » используется «превышение 2 n -1-1 » (т.е. превышение-15 , превышение-127 , превышение-1023 , превышение-16383 ), что означает, что инвертирование ведущего (высокий -order) бит экспоненты не преобразует экспоненту для исправления нотации дополнения до двух.
Двоичное смещение часто используется в цифровой обработке сигналов (DSP). Большинство аналогово-цифровых (A / D) и цифро-аналоговых (D / A) микросхем униполярны, что означает, что они не могут обрабатывать биполярные сигналы (сигналы как с положительными, так и с отрицательными значениями). Простым решением этой проблемы является смещение аналоговых сигналов со смещением постоянного тока, равным половине диапазона аналого-цифрового и цифро-аналогового преобразователей. Результирующие цифровые данные затем оказываются в двоичном формате смещения.
Большинство стандартных чипов ЦП компьютера не могут напрямую обрабатывать двоичный формат смещения. Микросхемы ЦП обычно могут обрабатывать только целые числа со знаком и без знака, а также форматы значений с плавающей запятой. Эти микросхемы ЦП могут обрабатывать двоичные значения смещения несколькими способами. Данные можно рассматривать просто как целые числа без знака, требуя, чтобы программист имел дело с нулевым смещением в программном обеспечении. Данные также могут быть преобразованы в целочисленный формат со знаком (который ЦП может обрабатывать изначально) путем простого вычитания нулевого смещения. Вследствие того, что наиболее распространенное смещение для n- битного слова равно 2 n -1 , что означает, что первый бит инвертируется относительно дополнения до двух, нет необходимости в отдельном шаге вычитания, но можно просто инвертировать первый немного. Иногда это полезно для аппаратного упрощения, а также может быть удобно для программного обеспечения.
Таблица двоичного смещения для четырех битов с дополнением до двух для сравнения:
| Десятичный | Смещение двоичное, K = 8 |
Два дополнения |
|---|---|---|
| 7 | 1111 | 0111 |
| 6 | 1110 | 0110 |
| 5 | 1101 | 0101 |
| 4 | 1100 | 0100 |
| 3 | 1011 | 0011 |
| 2 | 1010 | 0010 |
| 1 | 1001 | 0001 |
| 0 | 1000 | 0000 |
| −1 | 0111 | 1111 |
| −2 | 0110 | 1110 |
| −3 | 0101 | 1101 |
| −4 | 0100 | 1100 |
| −5 | 0011 | 1011 |
| −6 | 0010 | 1010 |
| −7 | 0001 | 1001 |
| −8 | 0000 | 1000 |
Двоичное смещение может быть преобразовано в двоичное дополнение путем инвертирования самого старшего бита. Например, с 8-битными значениями двоичное значение смещения может быть подвергнуто операции XOR с 0x80, чтобы преобразовать его в дополнение до двух. В специализированном оборудовании может быть проще принять бит как есть, но применить его значение в инвертированном значении.
Связанные коды
| Код | Тип | Параметры | Вес | Расстояние | Проверка | Дополнение | Группы по 5 человек | Простое добавление | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Смещение, k | Ширина, n | Фактор, q | ||||||||
| Код 8421 | п | 0 | 4 | 1 | 8 4 2 1 | 1–4 | Нет | Нет | Нет | Нет |
| Код Nuding | 3 п + 2 | 2 | 5 | 3 | N / A | 2–5 | да | 9 | да | да |
| Код Стибица | п + 3 | 3 | 4 | 1 | 8 4 −2 −1 | 1–4 | Нет | 9 | да | да |
| Алмазный код | 27 п + 6 | 6 | 8 | 27 | N / A | 3–8 | да | 9 | да | да |
| 25 п + 15 | 15 | 8 | 25 | N / A | 3+ | да | да | ? | да | |
| 23 п + 24 | 24 | 8 | 23 | N / A | 3+ | да | да | ? | да | |
| 19 п + 42 | 42 | 8 | 19 | N / A | 3–8 | да | 9 | да | да | |
|
|
|
|
|
|
Смотрите также
- Знаковые представления чисел
- Двоичное число
- Превышение-3
- Превышение-128
- Экспонентное смещение
- Превышение кода Грея
- Дополнение
- Двоичный офсетный носитель
Рекомендации
дальнейшее чтение
-
Гослинг, Джон Б. (1980). «6.8.5 Экспонентное представление». В Самнер, Фрэнк Х. (ред.). Проектирование арифметических устройств для цифровых компьютеров . Серия Macmillan Computer Science (1-е изд.). Факультет компьютерных наук, Университет Манчестера , Манчестер, Великобритания: The Macmillan Press Ltd . С. 91, 137. ISBN 0-333-26397-9.
[…] [W] e использовать значение [n exponent], которое сдвигается на половину двоичного диапазона числа. […] Эту специальную форму иногда называют смещенной экспонентой , поскольку это обычное значение плюс константа. Некоторые авторы назвали это характеристикой, но этот термин использовать не следует, поскольку CDC и другие используют этот термин для мантиссы . Его также называют представлением «избыток -», где, например, - 64 для 7-битной экспоненты (2 7−1 = 64). […]
- Савард, Джон Дж. Г. (2018) [2006]. «Десятичные представления» . квадиблок . Архивировано 16 июля 2018 года . Проверено 16 июля 2018 . (NB. Упоминает Превышение-3, Превышение-6, Превышение-11, Превышение-123.)
- Савард, Джон Дж. Г. (2018) [2007]. «Кодирование Чен-Хо и плотно упакованная десятичная дробь» . квадиблок . Архивировано 3 июля 2018 года . Проверено 16 июля 2018 . (NB. Упоминается Превышение-25, Превышение-250.)
- Савард, Джон Дж. Г. (2018) [2005]. «Форматы с плавающей точкой» . квадиблок . Архивировано 3 июля 2018 года . Проверено 16 июля 2018 . (Примечание. Упоминается Превышение-32, Избыток-64, Избыток-128, Избыток-256, Избыток-976, Превышение-1023, Превышение-1024, Избыток-2048, Превышение-16384.)
- Савард, Джон Дж. Г. (2018) [2005]. «Компьютерная арифметика» . квадиблок . Архивировано 16 июля 2018 года . Проверено 16 июля 2018 . (NB. Упоминается Превышение-64, Превышение-500, Превышение-512, Превышение-1024.)