Превышение-3 - Excess-3

Код Стибица
Цифры4[1]
Треки4[1]
Значения цифр8  4 −2 −1
Вес (а)1..3[1]
НепрерывностьНет[1]
ЦиклическийНет[1]
Минимальное расстояние1[1]
Максимальное расстояние4
Резервирование0.7
Лексикография1[1]
Дополнение9[1]

Превышение-3, 3-эксцесс[1][2][3] или же 10-эксцесс-3 двоичный код (часто сокращенно XS-3,[4] 3XS[1] или же X3[5][6]), сдвинутый двоичный[7] или же Код Стибица[1][2][8][9] (после Джордж Стибиц,[10] кто построил счетную машину на основе реле в 1937 году[11][12]) является самодополняющим двоично-десятичная дробь (BCD) код и система счисления. Это предвзятое представление. Код Excess-3 использовался, в частности, на некоторых старых компьютерах, а также в кассовых аппаратах и ​​портативных электронных калькуляторах 1970-х годов.

Представление

Смещенные коды - это способ представления значений со сбалансированным количеством положительных и отрицательных чисел с использованием заранее заданного числа. N как значение смещения. Предвзятые коды (и Коды Грея ) - невзвешенные коды. В коде сверх-3 числа представлены в виде десятичных цифр, а каждая цифра представлена ​​четырьмя биты в виде цифры плюс 3 («лишняя» сумма):

  • Наименьшее двоичное число представляет наименьшее значение (0 - избыток).
  • Наибольшее двоичное число представляет наибольшее значение (2N+1 - превышение - 1).
Превышение-3 и код Стибица
ДесятичныйПревышение-3СтибицBCD 8-4-2-1Двоичный3 из 6 CCITT
расширение[13][1]
4 из 8 Hamming
расширение[1]
−30000псевдотетрадаНет данныхНет данныхНет данныхНет данных
−20001псевдотетрада
−10010псевдотетрада
00011001100000000100011
10100010000010001111011
20101010100100010100101
30110011000110011100110
40111011101000100001000
51000100001010101110111
61001100101100110101001
71010101001110111101010
81011101110001000000100
91100110010011001101100
101101псевдотетрадапсевдотетрада1010Нет данныхНет данных
111110псевдотетрадапсевдотетрада1011
121111псевдотетрадапсевдотетрада1100
13Нет данныхНет данныхпсевдотетрада1101
14псевдотетрада1110
15псевдотетрада1111

Чтобы закодировать число, такое как 127, просто кодируют каждую из десятичных цифр, как указано выше, давая (0100, 0101, 1010).

В арифметике Excess-3 используются разные алгоритмы чем обычный беспристрастный BCD или двоичный позиционная система числа. После сложения двух дополнительных трех цифр исходная сумма будет равна шести разрядам. Например, после сложения 1 (0100 сверх 3) и 2 (0101 сверх 3) сумма будет выглядеть как 6 (1001 сверх 3) вместо 3 (0110 сверх 3). Чтобы исправить эту проблему, после добавления двух цифр необходимо удалить дополнительное смещение путем вычитания двоичного 0011 (десятичное 3 в несмещенном двоичном), если результирующая цифра меньше десятичного 10, или вычитания двоичного 1101 (десятичного 13 в несмещенном двоичный), если переполнение (перенос) произошло. (В 4-битном двоичном коде вычитание двоичного 1101 эквивалентно сложению 0011 и наоборот.)

Мотивация

Основное преимущество кодирования с избытком-3 по сравнению с непредвзятым кодированием состоит в том, что десятичное число может быть дополненные девятки[1] (для вычитания) так же легко, как двоичное число дополненные: просто инвертируя все биты.[1] Кроме того, когда сумма двух дополнительных трех цифр больше 9, бит переноса 4-битного сумматора будет установлен в высокий уровень. Это работает, потому что после сложения двух цифр "лишнее" значение 6 дает сумму. Поскольку 4-битное целое число может содержать только значения от 0 до 15, превышение 6 означает, что любая сумма, превышающая 9, будет переполняться (производить перенос).

Еще одно преимущество состоит в том, что коды 0000 и 1111 не используются ни для одной цифры. Эти коды могут вызвать неисправность в памяти или основной линии передачи. Также сложнее записать нулевой шаблон на магнитный носитель.[1][14][11]

Пример

BCD 8-4-2-1 в пример конвертера избыток-3 в VHDL:

юридическое лицо bcd8421xs3 является  порт (    а   : в    std_logic;    б   : в    std_logic;    c   : в    std_logic;    d   : в    std_logic;    ан  : буфер std_logic;    млрд  : буфер std_logic;    сп  : буфер std_logic;    дн  : буфер std_logic;    ш   : из   std_logic;    Икс   : из   std_logic;    у   : из   std_logic;    z   : из   std_logic  );конец юридическое лицо bcd8421xs3;архитектура поток данных из bcd8421xs3 являетсяначинать    ан  <=  нет а;    млрд  <=  нет б;    сп  <=  нет c;    дн  <=  нет d;    ш   <=  (ан и б  и d ) или же (а  и млрд и сп)         или же (ан и б  и c  и дн);    Икс   <=  (ан и млрд и d ) или же (ан и млрд и c  и дн)         или же (ан и б  и сп и дн) или же (а  и млрд и сп и d);    у   <=  (ан и сп и дн) или же (ан и c  и d )         или же (а  и млрд и сп и дн);    z   <=  (ан и дн) или же (а  и млрд и сп и дн);конец архитектура поток данных; - из bcd8421xs3

Расширения

Расширение 3 из 6
Цифры6[1]
Треки6[1]
Вес (а)3[1]
НепрерывностьНет[1]
ЦиклическийНет[1]
Минимальное расстояние2[1]
Максимальное расстояние6
Лексикография1[1]
Дополнение(9)[1]
Расширение 4 из 8
Цифры8[1]
Треки8[1]
Вес (а)4[1]
НепрерывностьНет[1]
ЦиклическийНет[1]
Минимальное расстояние4[1]
Максимальное расстояние8
Лексикография1[1]
Дополнение9[1]
  • Расширение кода 3 из 6: код избыточности 3 иногда также используется для передачи данных, затем часто расширяется до 6-битного кода на CCITT GT 43 № 1, где установлены 3 из 6 бит.[13][1]
  • Расширение кода 4 из 8: в качестве альтернативы IBM код трансивера[15] (который представляет собой код 4 из 8 с Расстояние Хэмминга из 2),[1] также возможно определить расширение кода 4 из 8 с избытком 3, достигающее расстояния Хэмминга 4, если должны передаваться только десятичные цифры.[1]

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

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

  1. ^ а б c d е ж грамм час я j k л м п о п q р s т ты v ш Икс у z аа ab ac объявление ае аф аг ах ай Штайнбух, Карл В., изд. (1962). Написано в Карлсруэ, Германия. Taschenbuch der Nachrichtenverarbeitung (на немецком языке) (1-е изд.). Берлин / Геттинген / Нью-Йорк: Springer-Verlag OHG. С. 71–73, 1081–1082. LCCN  62-14511.
  2. ^ а б Штайнбух, Карл В.; Вебер, Вольфганг; Heinemann, Traute, eds. (1974) [1967]. Taschenbuch der Informatik - Band II - Struktur und Programmierung von EDV-Systemen. Taschenbuch der Nachrichtenverarbeitung (на немецком). 2 (3-е изд.). Берлин, Германия: Springer Verlag. С. 98–100. ISBN  3-540-06241-6. LCCN  73-80607.
  3. ^ Ричардс, Ричард Колер (1955). Арифметические операции в цифровых компьютерах. Нью-Йорк, США: ван Ностранд. п. 182.
  4. ^ Каутц, Уильям Х. (Июнь 1954 г.). «Оптимизированное кодирование данных для цифровых компьютеров». Запись конвента I.R.E. Национальная конвенция 1954 года, часть 4: Электронные компьютеры и информационные технологии. Стэнфордский исследовательский институт, Стэнфорд, Калифорния, США: Институт Радиоинженеров, Inc. 2: 47–57. Сессия 19: Теория информации III - Скорость и вычисления. Получено 2020-05-22. (11 страниц)
  5. ^ Шмид, Германн (1974). Десятичное вычисление (1-е изд.). Бингемтон, Нью-Йорк, США: John Wiley & Sons, Inc. п.11. ISBN  0-471-76180-X. Получено 2016-01-03.
  6. ^ Шмид, Германн (1983) [1974]. Десятичное вычисление (1 (переиздание) изд.). Малабар, Флорида, США: Издательство Роберта Кригера. п. 11. ISBN  0-89874-318-4. Получено 2016-01-03. (NB. По крайней мере, некоторые партии этого переизданного издания были опечатки с дефектными страницами 115–146.)
  7. ^ Стибиц, Джордж Роберт; Ларриви, Жюль А. (1957). Написано в Андерхилле, Вермонт, США. Математика и компьютеры (1-е изд.). Нью-Йорк, США / Торонто, Канада / Лондон, Великобритания: McGraw-Hill Book Company, Inc. п. 105. LCCN  56-10331. (10 + 228 стр.)
  8. ^ Доктер, Фолкерт; Штайнхауэр, Юрген (18.06.1973). Цифровая электроника. Техническая библиотека Philips (PTL) / Macmillan Education (Перепечатка 1-го англ. Ред.). Эйндховен, Нидерланды: Macmillan Press Ltd. / Gloeilampenfabrieken Н. В. Филипс. С. 42, 44. Дои:10.1007/978-1-349-01417-0. ISBN  978-1-349-01419-4. SBN  333-13360-9. Получено 2018-07-01. (270 страниц) (NB. Это основано на переводе тома I двухтомного немецкого издания.)
  9. ^ Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik. Philips Fachbücher (на немецком языке). я (исправленное и дополненное 5-е изд.). Гамбург, Германия: Deutsche Philips GmbH. С. 48, 51, 53, 58, 61, 73. ISBN  3-87145-272-6. (xii + 327 + 3 страницы) (NB. Немецкое издание тома I было опубликовано в 1969, 1971, два выпуска в 1972 и 1975 годах. Том II был опубликован в 1970, 1972, 1973 и 1975 годах).
  10. ^ Стибиц, Джордж Роберт (1954-02-09) [1941-04-19]. «Комплексный компьютер». Патент US2668661A. Получено 2020-05-24. [1] (102 страницы)
  11. ^ а б Митке, Детлеф (2017) [2015]. "Binäre Codices". Информация- und Kommunikationstechnik (на немецком). Берлин, Германия. Exzeß-3-Code mit Additions- und Subtraktionsverfahren. В архиве из оригинала на 2017-04-25. Получено 2017-04-25.
  12. ^ Ричи, Дэвид (1986). Компьютерные пионеры. Нью-Йорк, США: Саймон и Шустер. п.35. ISBN  067152397X.
  13. ^ а б Международный консультативный комитет по телефонике и телеграфу (CCITT), Groupe de Travail 43 (1959-06-03). Вклад №1. CCITT, GT 43 № 1.
  14. ^ Баше, Чарльз Дж .; Джексон, Питер Уорд; Mussell, Howard A .; Вингер, Уэйн Дэвид (январь 1956 г.). «Дизайн системы IBM Type 702». Труды Американского института инженеров-электриков, часть I: Связь и электроника. 74 (6): 695–704. Дои:10.1109 / TCE.1956.6372444. S2CID  51666209. Документ № 55-719.
  15. ^ IBM (Июль 1957 г.). 65 Приемопередатчик данных / 66 Приемник данных для печати.