Разновидность BCD-кода, в которой к двоичному представлению добавляется три (11)
Двоичный код Excess-3 , 3-excess [1] [2] [3] или 10-excess-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 − избыток ).
- Наибольшее двоичное число представляет наибольшее значение ( 2 N +1 − избыток − 1 ).
Чтобы закодировать число, например, 127, нужно просто закодировать каждую десятичную цифру, как указано выше, что дает (0100, 0101, 1010).
Арифметика с избытком 3 использует другие алгоритмы , чем обычные несмещенные числа в двоично-десятичном коде или двоичной позиционной системе . После сложения двух цифр с избытком 3 сырая сумма равна избытку 6. Например, после сложения 1 (0100 в избытке 3) и 2 (0101 в избытке 3) сумма выглядит как 6 (1001 в избытке 3) вместо 3 (0110 в избытке 3). Чтобы исправить эту проблему, после сложения двух цифр необходимо удалить дополнительное смещение, вычитая двоичное 0011 (десятичное 3 в несмещенном двоичном коде), если полученная цифра меньше десятичного 10, или вычитая двоичное 1101 (десятичное 13 в несмещенном двоичном коде), если произошло переполнение (перенос). (В 4-битном двоичном коде вычитание двоичного 1101 эквивалентно добавлению 0011 и наоборот.) [14]
Преимущество
Основное преимущество избыточного кодирования 3 над несмещенным кодированием заключается в том, что десятичное число может быть дополнено девятками [1] (для вычитания) так же легко, как двоичное число может быть дополнено единицами : просто инвертируя все биты. [1] Кроме того, когда сумма двух избыточных 3 цифр больше 9, бит переноса 4-битного сумматора будет установлен на высокий уровень. Это работает, потому что после сложения двух цифр «избыточное» значение 6 дает в сумме. Поскольку 4-битное целое число может содержать только значения от 0 до 15, избыток 6 означает, что любая сумма свыше 9 переполнится (произведет перенос).
Другим преимуществом является то, что коды 0000 и 1111 не используются для какой-либо цифры. Неисправность в памяти или базовой линии передачи может привести к появлению этих кодов. Также сложнее записать нулевой шаблон на магнитный носитель. [1] [15] [11]
Пример
Пример преобразователя BCD 8-4-2-1 в избыточный-3 на языке VHDL :
сущность bcd8421xs3 — это порт ( a : в std_logic ; b : в std_logic ; c : в std_logic ; d : в std_logic ; an : буфер std_logic ; bn : буфер std_logic ; cn : буфер std_logic ; dn : буфер std_logic ; w : out std_logic ; x : out std_logic ; y : out std_logic ; z : out std_logic ); конечная сущность bcd8421xs3 ; Поток данных архитектуры bcd8421xs3 имеет вид begin an <= not a ; bn <= not b ; cn <= not c ; dn < = not d ; w <= ( an и b и d ) или ( a и bn и cn ) или ( an и b и c и dn ); x <= ( an и bn и d ) или ( an и b и c и dn ) или ( an и b и cn и dn ) или ( a и bn и cn и d ); y <= ( an и cn и dn ) или ( an и c и d ) или ( a и bn и cn и dn ); z <= ( an и dn ) или ( a и bn и cn и dn ); конец потока данных архитектуры ; -- bcd8421xs3
Расширения
- Расширение кода 3 из 6: Код «excess-3» иногда также используется для передачи данных, затем часто расширяется до 6-битного кода согласно CCITT GT 43 № 1, где установлены 3 из 6 бит. [13] [1]
- Расширение кода 4-из-8: В качестве альтернативы коду приемопередатчика IBM [16] (который является кодом 4-из-8 с расстоянием Хэмминга 2), [1] также можно определить расширение кода 4-из-8 с избытком 3, достигающее расстояния Хэмминга 4, если необходимо передавать только десятеричные цифры. [1]
Смотрите также
Ссылки
- ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai Steinbuch, Карл В. , изд. (1962). Написано в Карлсруэ, Германия. Taschenbuch der Nachrichtenverarbeitung (на немецком языке) (1-е изд.). Берлин / Геттинген / Нью-Йорк: Springer-Verlag OHG . стр. 71–73, 1081–1082. LCCN 62-14511.
- ^ аб Штайнбух, Карл В .; Вебер, Вольфганг; Хайнеманн, Трауте, ред. (1974) [1967]. Taschenbuch der Informatik – Band II – Struktur und Programmierung von EDV-Systemen (на немецком языке). Том. 2 (3-е изд.). Берлин, Германия: Springer Verlag . стр. 98–100. ISBN 3-540-06241-6. LCCN 73-80607.
- ^ Ричардс, Ричард Колер (1955). Арифметические операции в цифровых компьютерах . Нью-Йорк, США: van Nostrand . стр. 182.
- ^ Каутц, Уильям Х. (июнь 1954 г.). «Оптимизированное кодирование данных для цифровых компьютеров». Протокол съезда Национального съезда IRE 1954 г., часть 4: Электронные компьютеры и информационные технологии . 2. Стэнфордский научно-исследовательский институт, Стэнфорд, Калифорния, США: Институт радиоинженеров, Inc .: 47–57. Сессия 19: Теория информации III — Скорость и вычисления . Получено 22.05.2020 .(11 страниц)
- ^ Шмид, Герман (1974). Десятичные вычисления (1-е изд.). Бингемтон, Нью-Йорк, США: John Wiley & Sons, Inc. стр. 11. ISBN 0-471-76180-X. Получено 2016-01-03 .
- ^ Шмид, Герман (1983) [1974]. Десятичные вычисления (1-е (переиздание) изд.). Малабар, Флорида, США: Robert E. Krieger Publishing Company. стр. 11. ISBN 0-89874-318-4. Получено 2016-01-03 .(Примечание. По крайней мере некоторые партии этого переиздания были опечатками с дефектными страницами 115–146.)
- ^ Stibitz, George Robert ; Larrivee, Jules A. (1957). Написано в Underhill, Vermont, USA. Mathematics and Computers (1-е изд.). Нью-Йорк, США / Торонто, Канада / Лондон, Великобритания: McGraw-Hill Book Company, Inc. стр. 105. LCCN 56-10331.(10+228 страниц)
- ^ Доктер, Фолкерт; Штайнхауэр, Юрген (18 июня 1973 г.). Цифровая электроника. Техническая библиотека Philips (PTL) / Macmillan Education (переиздание 1-го изд. на английском языке). Эйндховен, Нидерланды: The Macmillan Press Ltd. / Gloeilampenfabrieken NV Philips . стр. 42, 44. doi : 10.1007/978-1-349-01417-0. ISBN 978-1-349-01419-4. СБН 333-13360-9. Получено 01.07.2018 .[ постоянная мертвая ссылка ] (270 страниц) (Примечание. Основано на переводе тома 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 страницы) (Примечание. Немецкое издание тома I было опубликовано в 1969, 1971 годах, два издания в 1972 и 1975 годах. Том II был опубликован в 1970, 1972, 1973 и 1975 годах.)
- ^ Штибиц, Джордж Роберт (1954-02-09) [1941-04-19]. "Комплексный компьютер". Патент US2668661A . Получено 2020-05-24 .[1] (102 страницы)
- ^ Аб Митке, Детлеф (2017) [2015]. «Бинарские кодексы». Informations- und Kommunikationstechnik (на немецком языке). Берлин, Германия. Exzeß-3-Code с дополнениями и вычитаниями. Архивировано из оригинала 25 апреля 2017 г. Проверено 25 апреля 2017 г.
- ^ Ритчи, Дэвид (1986). Пионеры компьютеров. Нью-Йорк, США: Simon and Schuster . стр. 35. ISBN 067152397X.
- ^ ab Comité Consultatif International Téléphonique et Télégraphique (CCITT), Groupe de Travail 43 (1959-06-03). Вклад № 1 . МКИТТ, ГТ 43 № 1.
{{cite book}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ Хейс, Джон П. (1978). Архитектура и организация компьютера . McGraw-Hill International Book Company. стр. 156. ISBN 0-07-027363-4.
- ^ Баше, Чарльз Дж.; Джексон, Питер Уорд; Масселл, Говард А.; Уингер, Уэйн Дэвид (январь 1956 г.). «Проектирование системы IBM Type 702». Труды Американского института инженеров-электриков, часть I: Связь и электроника . 74 (6): 695–704. doi :10.1109/TCE.1956.6372444. S2CID 51666209. Статья № 55-719.
- ↑ IBM (июль 1957 г.). 65 Приемопередатчик данных / 66 Приемник печатающих данных .