Смещение двоичное - 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
Два
дополнять
711110111
611100110
511010101
411000100
310110011
210100010
110010001
010000000
−101111111
−201101110
−301011101
−401001100
−500111011
−600101010
−700011001
−800001000

Двоичное смещение может быть преобразовано в дополнение до двух путем инвертирования самого старшего бита. Например, с 8-битными значениями двоичное значение смещения может быть подвергнуто операции XOR с 0x80 для преобразования в дополнение до двух. В специализированном оборудовании может быть проще принять бит как есть, но применять его значение в инвертированном значении.

Связанные коды

[2][3][7]
Сравнение кода[2][3][7]
КодТипПараметрыВесРасстояниеПроверкаДополнениеГруппы по 5 человекПростое добавление
Компенсировать, kШирина, пФактор, q
Код 8421п[8]0418 4 2 11–4НетНетНетНет
Код нюдинга[8][9]3п + 2[8]253Нет данных2–5да9дада
Код Стибица[10]п + 3[8]3418  4 −2 −11–4Нет9дада
Алмазный код[8][11]27п + 6[8][12][13]6827Нет данных3–8да9дада
25п + 15[12][13]15825Нет данных3+дада?да
23п + 24[12][13]24823Нет данных3+дада?да
19п + 42[12][13]42819Нет данных3–8да9дада
Десятичный
 
0
1
2
3
4
5
6
7
8
9
8421
4321
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Стибиц[10]
4321
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Нудинг[8][9]
54321
00010
00101
01000
01011
01110
10001
10100
10111
11010
11101
Алмаз[8]
87654321
00000110
00100001
00111100
01010111
01110010
10001101
10101000
11000011
11011110
11111001
19п + 42[12][13]
87654321
00101010
00111101
01010000
01100011
01110110
10001001
10011100
10101111
11000010
11010101

Смотрите также

Рекомендации

  1. ^ а б Чанг, Анджела; Чен, Йен; Дельмас, Патрис (2007-03-07). «2.5.2: Представление данных: двоичное представление смещения (Excess-K)». COMPSCI 210S1T 2006 (PDF). Департамент компьютерных наук, Оклендский университет, NZ. п. 18. Получено 2016-02-04.
  2. ^ а б 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 двухтомного немецкого издания.)
  3. ^ а б 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 годах).
  4. ^ Принципы работы IBM System / 360 Форма A22-6821. В Интернете доступны различные версии.[страница нужна ]
  5. ^ Кафедра электротехники и информатики, Юго-восточный Массачусетский университет, Северный Дартмут, Массачусетс, США (1988). Чен, Чи-хау (ред.). Справочник по обработке сигналов. Нью-Йорк, США: Марсель Деккер, Inc. /CRC Press. ISBN  0-8247-7956-8. Получено 2016-02-04.
  6. ^ «Форматы двоичного кода преобразования данных» (PDF). Корпорация Интерсил (опубликовано в 2000 г.). Май 1997. AN9657.1. Получено 2016-02-04.
  7. ^ а б Моргенштерн, Бодо (январь 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 страницы)
  8. ^ а б 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. )
  9. ^ а б Нудинг, Эрих (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 стр.)
  10. ^ а б Стибиц, Джордж Роберт (1954-02-09) [1941-04-19]. «Комплексный компьютер». Патент US2668661A. Получено 2020-05-24. [1] (102 страницы)
  11. ^ Плоткин, Моррис (Сентябрь 1960 г.). «Двоичные коды с заданным минимальным расстоянием». Сделки IRE по теории информации. IT-6 (4): 445–450. Дои:10.1109 / TIT.1960.1057584. eISSN  2168-2712. ISSN  0096-1000. S2CID  40300278. (NB. Также опубликовано как Отчет исследовательского отдела 51-20 Пенсильванский университет в январе 1951 г.)
  12. ^ а б c d е Браун, Дэвид Т. (сентябрь 1960). «Обнаружение ошибок и исправление двоичных кодов для арифметических операций». Операции IRE на электронных компьютерах. ИС-9 (3): 333–337. Дои:10.1109 / TEC.1960.5219855. ISSN  0367-9950. S2CID  28263032.
  13. ^ а б 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.)