Смещение двоичное - Offset binary
Смещение двоичное,[1] также упоминается как избыток-K,[1] избыток-N, избыток-е,[2][3] лишний код или же предвзятое представление, представляет собой схему цифрового кодирования, в которой все ноль соответствует минимальному отрицательному значению, а все единицы - максимальное положительное значение. Не существует стандарта для двоичного смещения, но чаще всего смещение K для п-битовое двоичное слово K = 2п−1. Это приводит к тому, что "нулевое" значение представлено 1 в старшем разряде и нулем во всех остальных битах, и в целом эффект такой же, как при использовании два дополнения за исключением того, что самый старший бит инвертируется. Это также приводит к тому, что при операции логического сравнения получается тот же результат, что и при операции числового сравнения истинной формы, тогда как в нотации дополнения до двух логическое сравнение согласуется с операцией числового сравнения истинной формы тогда и только тогда, когда числа сравниваемые имеют одинаковый знак. В противном случае сравнение будет инвертировано, и все отрицательные значения будут считаться большими, чем все положительные.
Один исторически выдающийся пример офсетной-64 (превышение-64) обозначение было в плавающая точка (экспоненциальная) запись в компьютерах поколений IBM System / 360 и System / 370. «Характеристика» (экспонента) приняла форму семибитового числа избыточного числа 64 (старший бит того же байта содержал знак значимое ).[4]
8-битная экспонента в Двоичный формат Microsoft, формат с плавающей запятой, используемый в различных языках программирования (в частности, БАЗОВЫЙ ) в 1970-х и 1980-х годах был закодирован с использованием нотации offset-129 (превышение-129).
В Стандарт IEEE для арифметики с плавающей запятой (IEEE 754) использует различные размеры экспоненты, но также использует обозначение смещения для формата каждой точности. Однако, как ни странно, вместо использования «лишних 2п−1"использует" избыток 2п−1 - 1 "(т. Е. превышение-15, превышение-127, превышение-1023, превышение-16383), что означает, что инвертирование ведущего (старшего) бита показателя степени не преобразует показатель степени в исправление записи дополнения до двух.
Бинарное смещение часто используется в цифровая обработка сигналов (DSP). Наиболее аналоговый в цифровой (A / D) и цифровой в аналоговый (D / A) микросхемы униполярны, что означает, что они не могут обрабатывать биполярные сигналы (сигналы с положительными и отрицательными значениями). Простым решением этой проблемы является смещение аналоговых сигналов со смещением постоянного тока, равным половине диапазона аналого-цифрового и цифро-аналогового преобразователей. Результирующие цифровые данные затем оказываются в двоичном формате смещения.[5]
Большинство стандартных микросхем ЦП компьютера не могут напрямую обрабатывать двоичный формат смещения. Микросхемы ЦП обычно могут обрабатывать только целые числа со знаком и без знака, а также форматы значений с плавающей запятой. Эти микросхемы ЦП могут обрабатывать двоичные значения смещения несколькими способами. Данные можно рассматривать просто как целые числа без знака, требуя, чтобы программист имел дело с нулевым смещением в программном обеспечении. Данные также могут быть преобразованы в целочисленный формат со знаком (который ЦП может обрабатывать изначально) путем простого вычитания нулевого смещения. Как следствие наиболее распространенного смещения для п-битное слово, равное 2п−1, что означает, что первый бит инвертируется относительно дополнения до двух, нет необходимости в отдельном шаге вычитания, но можно просто инвертировать первый бит. Иногда это полезно для аппаратного упрощения, но может быть удобно и для программного обеспечения.
Таблица двоичных смещений для четырех битов, с два дополнения для сравнения:[6]
Десятичный | Смещение двоичное, 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 | Ширина, п | Фактор, 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
- Экспонентное смещение
- Превышение кода Грея
- Дополнение
- Двоичный офсетный носитель
Рекомендации
- ^ а б Чанг, Анджела; Чен, Йен; Дельмас, Патрис (2007-03-07). «2.5.2: Представление данных: двоичное представление смещения (Excess-K)». COMPSCI 210S1T 2006 (PDF). Департамент компьютерных наук, Оклендский университет, NZ. п. 18. Получено 2016-02-04.
- ^ а б c Доктер, Фолкерт; Штайнхауэр, Юрген (18.06.1973). Цифровая электроника. Техническая библиотека Philips (PTL) / Macmillan Education (Переиздание 1-го англ. Ред.). Эйндховен, Нидерланды: Macmillan Press Ltd. / Gloeilampenfabrieken Н. В. Филипса. п. 44. Дои:10.1007/978-1-349-01417-0. ISBN 978-1-349-01419-4. SBN 333-13360-9. Получено 2018-07-01. (270 страниц) (NB. Это основано на переводе тома I двухтомного немецкого издания.)
- ^ а б c Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. «2.4.4.4. Exzeß-e-Kodes». Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik. Philips Fachbücher (на немецком языке). я (исправленное и дополненное 5-е изд.). Гамбург, Германия: Deutsche Philips GmbH. С. 51, 53–54. ISBN 3-87145-272-6. (xii + 327 + 3 страницы) (NB. Немецкое издание тома I было опубликовано в 1969, 1971, два выпуска в 1972 и 1975 годах. Том II был опубликован в 1970, 1972, 1973 и 1975 годах).
- ^ Принципы работы IBM System / 360 Форма A22-6821. В Интернете доступны различные версии.[страница нужна ]
- ^ Кафедра электротехники и информатики, Юго-восточный Массачусетский университет, Северный Дартмут, Массачусетс, США (1988). Чен, Чи-хау (ред.). Справочник по обработке сигналов. Нью-Йорк, США: Марсель Деккер, Inc. /CRC Press. ISBN 0-8247-7956-8. Получено 2016-02-04.
- ^ «Форматы двоичного кода преобразования данных» (PDF). Корпорация Интерсил (опубликовано в 2000 г.). Май 1997. AN9657.1. Получено 2016-02-04.
- ^ а б Моргенштерн, Бодо (январь 1997 г.) [июль 1992 г.]. «10.5.3.5 Превышение электронного кода». Электроника: Digitale Schaltungen und Systeme. Studium Technik (на немецком языке). 3 (перераб. 2-е изд.). Friedrich Vieweg и Sohn Verlagsgesellschaft mbH. С. 120–121. Дои:10.1007/978-3-322-85053-9. ISBN 978-3-528-13366-5. Получено 2020-05-26. (xviii + 393 страницы)
- ^ а б c d е ж грамм час Даймонд, Джозеф М. (апрель 1955 г.) [1954-11-12]. «Проверочные коды для цифровых компьютеров». Труды IRE. Переписка. Нью-Йорк, США. 43 (4): 483–490 [487–488]. Дои:10.1109 / JRPROC.1955.277858. eISSN 2162-6634. ISSN 0096-8390. В архиве из оригинала 2020-05-26. Получено 2020-05-26. (2 страницы) (Примечание. Результаты, обсуждаемые в этом отчете, основаны на более раннем исследовании, проведенном Джозефом М. Даймонд и Моррис Плоткин в Школа инженерии Мура, Пенсильванский университет в 1950–1951 гг. по контракту с Burroughs Adding Machine Co. )
- ^ а б Нудинг, Эрих (1959-01-01). "Ein Sicherheitscode für Fernschreibgeräte, die zur Ein- und Ausgabe an elektronischen Rechenmaschine verwendet werden". Zeitschrift für Angewandte Mathematik und Mechanik (ZAMM). Kleine Mitteilungen (на немецком языке). 39 (5–6): 429. Bibcode:1959ЗаММ ... 39..249Н. Дои:10.1002 / zamm.19590390511. (1 стр.)
- ^ а б Стибиц, Джордж Роберт (1954-02-09) [1941-04-19]. «Комплексный компьютер». Патент US2668661A. Получено 2020-05-24. [1] (102 страницы)
- ^ Плоткин, Моррис (Сентябрь 1960 г.). «Двоичные коды с заданным минимальным расстоянием». Сделки IRE по теории информации. IT-6 (4): 445–450. Дои:10.1109 / TIT.1960.1057584. eISSN 2168-2712. ISSN 0096-1000. S2CID 40300278. (NB. Также опубликовано как Отчет исследовательского отдела 51-20 Пенсильванский университет в январе 1951 г.)
- ^ а б c d е Браун, Дэвид Т. (сентябрь 1960). «Обнаружение ошибок и исправление двоичных кодов для арифметических операций». Операции IRE на электронных компьютерах. ИС-9 (3): 333–337. Дои:10.1109 / TEC.1960.5219855. ISSN 0367-9950. S2CID 28263032.
- ^ а б c d е Петерсон, Уильям Уэсли; Велдон младший, Эдвард Дж. (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-е изд.). Департамент компьютерных наук, Манчестерский университет, Манчестер, Великобритания: Macmillan Press Ltd. С. 91, 137. ISBN 0-333-26397-9.
[…] [W] e использовать значение [n exponent], которое сдвигается на половину двоичного диапазона числа. […] Эту специальную форму иногда называют смещенная экспонента, поскольку это обычное значение плюс константа. Некоторые авторы назвали это характеристикой, но этот термин использовать не следует, поскольку CDC и другие используют этот термин для обозначения мантисса. Это также упоминается как представление `` избыток - '', где, например, - 64 для 7-битной экспоненты (27−1 = 64). […]
- Савард, Джон Дж. Г. (2018) [2006]. «Десятичные представления». квадиблок. В архиве из оригинала на 2018-07-16. Получено 2018-07-16. (NB. Упоминает Превышение-3, Превышение-6, Превышение-11, Превышение-123.)
- Савард, Джон Дж. Г. (2018) [2007]. «Кодирование Чен-Хо и плотно упакованная десятичная дробь». квадиблок. В архиве из оригинала 2018-07-03. Получено 2018-07-16. (NB. Упоминает Превышение-25, Превышение-250.)
- Савард, Джон Дж. Г. (2018) [2005]. «Форматы с плавающей точкой». квадиблок. В архиве из оригинала 2018-07-03. Получено 2018-07-16. (Примечание. Упоминается Превышение-32, Избыток-64, Избыток-128, Избыток-256, Избыток-976, Превышение-1023, Превышение-1024, Избыток-2048, Превышение-16384.)
- Савард, Джон Дж. Г. (2018) [2005]. «Компьютерная арифметика». квадиблок. В архиве из оригинала на 2018-07-16. Получено 2018-07-16. (NB. Упоминается Превышение-64, Превышение-500, Превышение-512, Превышение-1024.)