stringtranslate.com

Избыток-3

Двоичный код 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 («избыточная» сумма):

Чтобы закодировать число, например, 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   

Расширения

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

Ссылки

  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.
  2. ^ аб Штайнбух, Карл В .; Вебер, Вольфганг; Хайнеманн, Трауте, ред. (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. {{cite book}}: |work=проигнорировано ( помощь )
  3. ^ Ричардс, Ричард Колер (1955). Арифметические операции в цифровых компьютерах . Нью-Йорк, США: van Nostrand . стр. 182.
  4. ^ Каутц, Уильям Х. (июнь 1954 г.). «Оптимизированное кодирование данных для цифровых компьютеров». Протокол съезда Национального съезда IRE 1954 г., часть 4: Электронные компьютеры и информационные технологии . 2. Стэнфордский научно-исследовательский институт, Стэнфорд, Калифорния, США: Институт радиоинженеров, Inc .: 47–57. Сессия 19: Теория информации III — Скорость и вычисления . Получено 22.05.2020 .(11 страниц)
  5. ^ Шмид, Герман (1974). Десятичные вычисления (1-е изд.). Бингемтон, Нью-Йорк, США: John Wiley & Sons, Inc. стр. 11. ISBN 0-471-76180-X. Получено 2016-01-03 .
  6. ^ Шмид, Герман (1983) [1974]. Десятичные вычисления (1-е (переиздание) изд.). Малабар, Флорида, США: Robert E. Krieger Publishing Company. стр. 11. ISBN 0-89874-318-4. Получено 2016-01-03 .(Примечание. По крайней мере некоторые партии этого переиздания были опечатками с дефектными страницами 115–146.)
  7. ^ 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 страниц)
  8. ^ Доктер, Фолкерт; Штайнхауэр, Юрген (1973-06-18). Цифровая электроника. Philips Technical Library (PTL) / Macmillan Education (переиздание 1-го английского издания). Эйндховен, Нидерланды: The Macmillan Press Ltd. / NV Philips' Gloeilampenfabrieken . стр. 42, 44. doi :10.1007/978-1-349-01417-0. ISBN 978-1-349-01419-4. СБН 333-13360-9. Получено 01.07.2018 .[ постоянная мертвая ссылка ] (270 страниц) (Примечание. Основано на переводе тома 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 страницы) (Примечание. Немецкое издание тома 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]. «Бинарские кодексы». Informations- und Kommunikationstechnik (на немецком языке). Берлин, Германия. Exzeß-3-Code с дополнениями и вычитаниями. Архивировано из оригинала 25 апреля 2017 г. Проверено 25 апреля 2017 г.
  12. ^ Ритчи, Дэвид (1986). Пионеры компьютеров. Нью-Йорк, США: Simon and Schuster . стр. 35. ISBN 067152397X.
  13. ^ 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: числовые имена: список авторов ( ссылка )
  14. ^ Хейс, Джон П. (1978). Архитектура и организация компьютера . McGraw-Hill International Book Company. стр. 156. ISBN 0-07-027363-4.
  15. ^ Баше, Чарльз Дж.; Джексон, Питер Уорд; Масселл, Говард А.; Уингер, Уэйн Дэвид (январь 1956 г.). «Проектирование системы IBM Type 702». Труды Американского института инженеров-электриков, часть I: Связь и электроника . 74 (6): 695–704. doi :10.1109/TCE.1956.6372444. S2CID  51666209. Статья № 55-719.
  16. IBM (июль 1957 г.). 65 Приемопередатчик данных / 66 Приемник печатающих данных .