Превышение-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 | Стибиц | BCD 8-4-2-1 | Двоичный | 3 из 6 CCITT расширение[13][1] | 4 из 8 Hamming расширение[1] |
---|---|---|---|---|---|---|
−3 | 0000 | псевдотетрада | Нет данных | Нет данных | Нет данных | Нет данных |
−2 | 0001 | псевдотетрада | ||||
−1 | 0010 | псевдотетрада | ||||
0 | 0011 | 0011 | 0000 | 0000 | …10 | …0011 |
1 | 0100 | 0100 | 0001 | 0001 | …11 | …1011 |
2 | 0101 | 0101 | 0010 | 0010 | …10 | …0101 |
3 | 0110 | 0110 | 0011 | 0011 | …10 | …0110 |
4 | 0111 | 0111 | 0100 | 0100 | …00 | …1000 |
5 | 1000 | 1000 | 0101 | 0101 | …11 | …0111 |
6 | 1001 | 1001 | 0110 | 0110 | …10 | …1001 |
7 | 1010 | 1010 | 0111 | 0111 | …10 | …1010 |
8 | 1011 | 1011 | 1000 | 1000 | …00 | …0100 |
9 | 1100 | 1100 | 1001 | 1001 | …10 | …1100 |
10 | 1101 | псевдотетрада | псевдотетрада | 1010 | Нет данных | Нет данных |
11 | 1110 | псевдотетрада | псевдотетрада | 1011 | ||
12 | 1111 | псевдотетрада | псевдотетрада | 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]
Смотрите также
- Смещение двоичное, избыток-N, предвзятое представление
- Превышение-128
- Превышение кода Грея
- Сдвинутый код Грея
- Код Грея
- m-of-n код
- Код Айкен
Рекомендации
- ^ а б 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.
- ^ а б Штайнбух, Карл В.; Вебер, Вольфганг; 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.
- ^ Ричардс, Ричард Колер (1955). Арифметические операции в цифровых компьютерах. Нью-Йорк, США: ван Ностранд. п. 182.
- ^ Каутц, Уильям Х. (Июнь 1954 г.). «Оптимизированное кодирование данных для цифровых компьютеров». Запись конвента I.R.E. Национальная конвенция 1954 года, часть 4: Электронные компьютеры и информационные технологии. Стэнфордский исследовательский институт, Стэнфорд, Калифорния, США: Институт Радиоинженеров, Inc. 2: 47–57. Сессия 19: Теория информации III - Скорость и вычисления. Получено 2020-05-22. (11 страниц)
- ^ Шмид, Германн (1974). Десятичное вычисление (1-е изд.). Бингемтон, Нью-Йорк, США: John Wiley & Sons, Inc. п.11. ISBN 0-471-76180-X. Получено 2016-01-03.
- ^ Шмид, Германн (1983) [1974]. Десятичное вычисление (1 (переиздание) изд.). Малабар, Флорида, США: Издательство Роберта Кригера. п. 11. ISBN 0-89874-318-4. Получено 2016-01-03. (NB. По крайней мере, некоторые партии этого переизданного издания были опечатки с дефектными страницами 115–146.)
- ^ Стибиц, Джордж Роберт; Ларриви, Жюль А. (1957). Написано в Андерхилле, Вермонт, США. Математика и компьютеры (1-е изд.). Нью-Йорк, США / Торонто, Канада / Лондон, Великобритания: McGraw-Hill Book Company, Inc. п. 105. LCCN 56-10331. (10 + 228 стр.)
- ^ Доктер, Фолкерт; Штайнхауэр, Юрген (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 двухтомного немецкого издания.)
- ^ Доктер, Фолкерт; Штайнхауэр, Юрген (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 годах).
- ^ Стибиц, Джордж Роберт (1954-02-09) [1941-04-19]. «Комплексный компьютер». Патент US2668661A. Получено 2020-05-24. [1] (102 страницы)
- ^ а б Митке, Детлеф (2017) [2015]. "Binäre Codices". Информация- und Kommunikationstechnik (на немецком). Берлин, Германия. Exzeß-3-Code mit Additions- und Subtraktionsverfahren. В архиве из оригинала на 2017-04-25. Получено 2017-04-25.
- ^ Ричи, Дэвид (1986). Компьютерные пионеры. Нью-Йорк, США: Саймон и Шустер. п.35. ISBN 067152397X.
- ^ а б Международный консультативный комитет по телефонике и телеграфу (CCITT), Groupe de Travail 43 (1959-06-03). Вклад №1. CCITT, GT 43 № 1.
- ^ Баше, Чарльз Дж .; Джексон, Питер Уорд; Mussell, Howard A .; Вингер, Уэйн Дэвид (январь 1956 г.). «Дизайн системы IBM Type 702». Труды Американского института инженеров-электриков, часть I: Связь и электроника. 74 (6): 695–704. Дои:10.1109 / TCE.1956.6372444. S2CID 51666209. Документ № 55-719.
- ^ IBM (Июль 1957 г.). 65 Приемопередатчик данных / 66 Приемник данных для печати.