Смещенный двоичный файл
Смещенный двоичный файл , [ 1 ] также называемый избытком-K , [ 1 ] избыток -N , избыток-e , [ 2 ] [ 3 ] избыточный код или смещенное представление — это метод представления чисел со знаком , где число n со знаком представлено битовой комбинацией, соответствующей беззнаковому числу n + K , где K является значением смещения или смещением . Не существует стандарта для двоичного смещения, но чаще всего K для n- битного двоичного слова равен K = 2. п -1 (например, смещение четырехзначного двоичного числа будет равно 2 3 =8). Это приводит к тому, что минимальное отрицательное значение представлено только нулями, «нулевое» значение представлено 1 в самом старшем бите и нулем во всех остальных битах, а максимальное положительное значение представлено только единицами ( Для удобства это то же самое, что и использование дополнения до двух , но с инвертированием старшего бита). Это также приводит к тому, что при операции логического сравнения получается тот же результат, что и при операции числового сравнения в истинной форме, тогда как в записи с дополнением до двух логическое сравнение будет согласовываться с операцией числового сравнения в истинной форме тогда и только тогда, когда числа сравниваемые имеют одинаковый знак. В противном случае смысл сравнения будет инвертирован: все отрицательные значения будут считаться большими, чем все положительные значения.
5-битный код Бодо, со смещением 1 ( избыток-1 ) использовавшийся в ранних телеграфах с синхронным мультиплексированием, можно рассматривать как отраженный двоичный (Gray) код .
Одним из исторически выдающихся примеров нотации смещения-64 ( express-64 ) была нотация с плавающей запятой (экспоненциальная) в поколениях компьютеров IBM System/360 и System/370. «Характеристика» (экспонента) приняла форму семибитного числа с превышением 64 (Старший бит того же байта содержал знак мантиссы ) . [ 4 ]
8-битная экспонента в Microsoft Binary Format , формате с плавающей запятой, используемом в различных языках программирования (в частности, BASIC ) в 1970-х и 1980-х годах, была закодирована с использованием нотации смещения-129 ( extra-129 ).
Стандарт IEEE для арифметики с плавающей запятой (IEEE 754) использует обозначение смещения для части экспоненты в каждом из различных форматов точности . Однако необычно, что вместо использования «избыточных 2 п -1 "он использует" лишние 2 п -1 − 1" (т. е. превышение-15 , превышение-127 , превышение-1023 , превышение-16383 ), что означает, что инвертирование ведущего (старшего) бита экспоненты не приведет к преобразованию экспоненты для исправления обозначения дополнения до двух.
Двоичный сигнал смещения часто используется в цифровой обработке сигналов (DSP). Большинство аналого-цифровых (A/D) и цифро-аналоговых (D/A) микросхем являются униполярными, что означает, что они не могут обрабатывать биполярные сигналы (сигналы как с положительными, так и с отрицательными значениями). Простое решение этой проблемы — сместить аналоговые сигналы со смещением постоянного тока, равным половине диапазона АЦП и ЦАП. Результирующие цифровые данные затем оказываются в двоичном формате смещения. [ 5 ]
Большинство стандартных компьютерных процессоров не могут напрямую обрабатывать двоичный формат смещения. [ нужна ссылка ] . Чипы ЦП обычно могут обрабатывать только целые числа со знаком и без знака, а также форматы значений с плавающей запятой. Эти микросхемы ЦП могут обрабатывать двоичные значения смещения несколькими способами. Данные можно рассматривать просто как целые числа без знака, что требует от программиста работы с нулевым смещением в программном обеспечении. Данные также можно преобразовать в формат целых чисел со знаком (который ЦП может обрабатывать изначально) путем простого вычитания нулевого смещения. Вследствие того, что наиболее распространенное смещение для n -битного слова равно 2 п -1 , что означает, что первый бит инвертируется относительно дополнения до двух, нет необходимости в отдельном шаге вычитания, но можно просто инвертировать первый бит. Иногда это полезное упрощение аппаратного обеспечения, но может быть удобно и в программном обеспечении.
Таблица двоичных смещений для четырех битов с дополнением до двух для сравнения: [ 6 ]
Десятичный | Смещение двоичного кода, К = 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 для преобразования в дополнение до двух. В специализированном оборудовании может быть проще принять бит в его нынешнем виде, но применить его значение в инвертированном значении.
Связанные коды
[ редактировать ]В этом разделе отсутствует информация об этих таблицах. ( январь 2022 г. ) |
Код | Тип | Параметры | Веса | Расстояние | Проверка | Дополнить | Группы по 5 человек | Простое дополнение | ||
---|---|---|---|---|---|---|---|---|---|---|
Смещение, к | Ширина, н | Фактор, q | ||||||||
код 8421 | н [ 8 ] | 0 | 4 | 1 | 8 4 2 1 | 1–4 | Нет | Нет | Нет | Нет |
Указывая на код [ 8 ] [ 9 ] | 3н 2 + [ 8 ] | 2 | 5 | 3 | — | 2–5 | Да | 9 | Да | Да |
Код Стибица [ 10 ] | п + 3 [ 8 ] | 3 | 4 | 1 | 8 4 −2 −1 | 1–4 | Нет | 9 | Да | Да |
Алмазный код [ 8 ] [ 11 ] | 27н 6 + [ 8 ] [ 12 ] [ 13 ] | 6 | 8 | 27 | — | 3–8 | Да | 9 | Да | Да |
25н 15 + [ 12 ] [ 13 ] | 15 | 8 | 25 | — | 3+ | Да | Да | ? | Да | |
23 н + 24 [ 12 ] [ 13 ] | 24 | 8 | 23 | — | 3+ | Да | Да | ? | Да | |
19 н + 42 [ 12 ] [ 13 ] | 42 | 8 | 19 | — | 3–8 | Да | 9 | Да | Да |
|
|
|
|
|
|
См. также
[ редактировать ]- Представления чисел со знаком
- Двоичное число
- Превышение-3
- Превышение-128
- Они разоблачат предвзятость
- Код избыточного Грея
- Дополнение единиц
- Двоичный смещенный носитель
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Чанг, Анджела; Чен, Йен; Дельмас, Патрис (7 марта 2006 г.). «2.5.2: Представление данных: двоичное представление смещения (Excess-K)». КОМПСКИ 210С1Т 2006 (PDF) . Факультет компьютерных наук Оклендского университета , Новая Зеландия. п. 18 . Проверено 4 февраля 2016 г.
- ^ Перейти обратно: а б с Доктор Фолкерт; Штайнхауэр, Юрген (18 июня 1973 г.). Цифровая электроника . Техническая библиотека Philips (PTL) / Macmillan Education (переиздание 1-го изд. на английском языке). Эйндховен, Нидерланды: The Macmillan Press Ltd. / Gloeilampenfabriken Н.В. Филипс . стр. 44. дои : 10.1007/978-1-349-01417-0 . ISBN 978-1-349-01419-4 . СБН 333-13360-9 . Проверено 1 июля 2018 г. (270 страниц) (Примечание. Основано на переводе первого тома двухтомного немецкого издания.)
- ^ Перейти обратно: а б с Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. «2.4.4.4. Лишние электронные коды». Цифровая электроника в измерительной технике и обработке данных: Теоретические основы и схемотехника . Специализированные книги Philips (на немецком языке). Том I (улучшенное и расширенное 5-е изд.). Гамбург, Германия: Deutsche Philips GmbH . стр. 51, 53–54. ISBN 3-87145-272-6 . (xii+327+3 страницы) (Примечание. Немецкое издание тома I было опубликовано в 1969, 1971 году, два издания - в 1972 и 1975 годах. Том II был опубликован в 1970, 1972, 1973 и 1975 годах.)
- ^ Принципы работы IBM System/360, форма A22-6821. Различные издания доступны на WWW. [ нужна страница ]
- ^ Факультет электротехники и информатики, Университет Юго-Восточного Массачусетса , Норт-Дартмут, Массачусетс, США (1988). Чен, Чи-хау (ред.). Справочник по обработке сигналов . Нью-Йорк, США: Marcel Dekker, Inc. / CRC Press . ISBN 0-8247-7956-8 . Проверено 4 февраля 2016 г.
- ^ «Форматы двоичного кода преобразования данных» (PDF) . Корпорация Интерсил (опубликовано в 2000 г.). Май 1997 г. AN9657.1 . Проверено 4 февраля 2016 г.
- ^ Перейти обратно: а б Моргенштерн, Бодо (январь 1997 г.) [июль 1992 г.]. «10.5.3.5 Код лишнего кода» . Электроника: цифровые схемы и системы . Исследования в области технологий (на немецком языке). Том 3 (переработанное 2-е изд.). Фридрих Видег и Зон Верлагсгезельшафт мбХ . стр. 120–121. дои : 10.1007/978-3-322-85053-9 . ISBN 978-3-528-13366-5 . Проверено 26 мая 2020 г. (xviii+393 страницы)
- ^ Перейти обратно: а б с д и ж г час Даймонд, Джозеф М. (апрель 1955 г.) [1954-11-12]. «Проверка кодов цифровых компьютеров» . Труды ИРЭ . Переписка. 43 (4). Нью-Йорк, США: 483–490 [487–488]. дои : 10.1109/JRPROC.1955.277858 . eISSN 2162-6634 . ISSN 0096-8390 . Архивировано из оригинала 26 мая 2020 г. Проверено 26 мая 2020 г. (2 страницы) (Примечание. Результаты, обсуждаемые в этом отчете, основаны на более раннем исследовании, проведенном Джозефом М. Даймондом и Моррисом Плоткиным в Инженерной школе Мура Пенсильванского университета в 1950–1951 годах по контракту с Burroughs Adding Машинная компания )
- ^ Перейти обратно: а б Нудинг, Эрих (1 января 1959 г.). «Код безопасности для телетайпов, используемых для ввода и вывода данных в электронные вычислительные машины» . Журнал прикладной математики и механики . Небольшие сообщения (на немецком языке). 39 (5–6): 429. Бибкод : 1959ЗаММ...39..249Н . дои : 10.1002/замм.19590390511 . (1 страница)
- ^ Перейти обратно: а б Стибиц, Джордж Роберт (9 февраля 1954 г.) [19 апреля 1941 г.]. «Сложный компьютер» . Патент US2668661A . Проверено 24 мая 2020 г. [1] (102 страницы)
- ^ Плоткин, Моррис (сентябрь 1960 г.). «Двоичные коды с указанным минимальным расстоянием». IRE Транзакции по теории информации . ИТ-6 (4): 445–450. дои : 10.1109/TIT.1960.1057584 . eISSN 2168-2712 . ISSN 0096-1000 . S2CID 40300278 . (Примечание. Также опубликовано как Отчет исследовательского отдела 51-20 Пенсильванского университета в январе 1951 г.)
- ^ Перейти обратно: а б с д и Браун, Дэвид Т. (сентябрь 1960 г.). «Обнаружение ошибок и исправление двоичных кодов для арифметических операций». IRE-транзакции на электронных компьютерах . ЕС-9 (3): 333–337. дои : 10.1109/TEC.1960.5219855 . ISSN 0367-9950 . S2CID 28263032 .
- ^ Перейти обратно: а б с д и Петерсон, Уильям Уэсли ; Уэлдон-младший, Эдвард Дж. (1972) [февраль 1971, 1961]. «15.3 Арифметические коды / 15.6 Самодополняющие коды AN + B ». Написано в Гонолулу, Гавайи. Коды, исправляющие ошибки (2-е изд.). Кембридж, Массачусетс, США: Массачусетский технологический институт ( MIT Press ). С. 454–456, 460–461 [456, 461]. ISBN 0-262-16-039-0 . LCCN 76-122262 . (xii+560+4 страницы)
Дальнейшее чтение
[ редактировать ]- Гослинг, Джон Б. (1980). «6.8.5 Представление экспоненты». В Самнере, Фрэнк Х. (ред.). Проектирование арифметических единиц для цифровых вычислительных машин . Серия Macmillan Computer Science (1-е изд.). Факультет компьютерных наук Манчестерского университета , Манчестер, Великобритания: The Macmillan Press Ltd. стр. 91, 137. ISBN. 0-333-26397-9 .
[…] [мы] используем значение [n экспоненты], которое сдвинуто на половину двоичного диапазона числа. […] Эту специальную форму иногда называют смещенной экспонентой , поскольку она представляет собой обычное значение плюс константу. Некоторые авторы называют это характеристикой, но этот термин не следует использовать, поскольку CDC и другие используют этот термин для обозначения мантиссы . Его также называют представлением «избыточного -», где, например, - равно 64 для 7-битной экспоненты (2 7−1 = 64). […]
- Савард, Джон Дж. Г. (2018) [2006]. «Десятичные представления» . четырехблок . Архивировано из оригинала 16 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Превышение-3, Превышение-6, Превышение-11, Превышение-123.)
- Савард, Джон Дж. Г. (2018) [2007]. «Кодирование Чен-Хо и плотно упакованная десятичная дробь» . четырехблок . Архивировано из оригинала 3 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Excess-25, Excess-250.)
- Савард, Джон Дж. Г. (2018) [2005]. «Форматы с плавающей запятой» . четырехблок . Архивировано из оригинала 3 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Превышение-32, Превышение-64, Превышение-128, Превышение-256, Превышение-976, Превышение-1023, Превышение-1024, Превышение-2048, Превышение-16384.)
- Савард, Джон Дж. Г. (2018) [2005]. «Компьютерная арифметика» . четырехблок . Архивировано из оригинала 16 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Excess-64, Excess-500, Excess-512, Excess-1024.)