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).

В арифметике Excess-3 используются алгоритмы , отличные от обычных несмещенных чисел BCD или двоичной позиционной системы . После сложения двух цифр с избытком 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; d : в std_logic ;                     an : буфер std_logic ; bn : буфер std_logic ; cn : буфер std_logic ; dn : буфер std_logic ;                ш : выход std_logic ; х : выход std_logic ; y : выход std_logic ; z : выход std_logic ); конечный объект bcd8421xs3 ;                  Архитектурный поток данных bcd8421xs3 начинается с < = not a ; bn <= не b ; сп <= не с ; дн <= не д ;                     w <= ( an и b и d ) или ( a и bn и cn ) или ( an и b и c и dn ); x <= ( an и bn и d ) или ( an и bn и 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). Арифметические операции в цифровых вычислительных машинах . Нью-Йорк, США: ван Ностранд . п. 182.
  4. ^ Каутц, Уильям Х. (июнь 1954 г.). «Оптимизированное кодирование данных для цифровых компьютеров». Протокол съезда Национального съезда IRE 1954 года, Часть 4: Электронные компьютеры и информационные технологии . Стэнфордский исследовательский институт, Стэнфорд, Калифорния, США: Институт радиоинженеров, Inc. 2 : 47–57. Сессия 19: Теория информации III – Скорость и вычисления . Проверено 22 мая 2020 г. (11 страниц)
  5. ^ Шмид, Герман (1974). Десятичные вычисления (1-е изд.). Бингемтон, Нью-Йорк, США: John Wiley & Sons, Inc., с. 11. ISBN 0-471-76180-Х. Проверено 03 января 2016 г.
  6. ^ Шмид, Герман (1983) [1974]. Десятичные вычисления (1 (переиздание) изд.). Малабар, Флорида, США: Издательская компания Роберта Э. Кригера. п. 11. ISBN 0-89874-318-4. Проверено 03 января 2016 г.(Примечание. По крайней мере, в некоторых партиях этого репринтного издания были опечатки с дефектными страницами 115–146.)
  7. ^ Стибиц, Джордж Роберт ; Ларриви, Жюль А. (1957). Написано в Андерхилле, Вермонт, США. Математика и компьютеры (1-е изд.). Нью-Йорк, США / Торонто, Канада / Лондон, Великобритания: McGraw-Hill Book Company, Inc. с. 105. LCCN  56-10331.(10+228 страниц)
  8. ^ Доктер, Фолкерт; Штайнхауэр, Юрген (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. Проверено 1 июля 2018 г.(270 страниц) (Примечание. Основано на переводе первого тома двухтомного немецкого издания.)
  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. ^ Стибиц, Джордж Роберт (9 февраля 1954 г.) [19 апреля 1941 г.]. «Сложный компьютер». Патент US2668661A . Проверено 24 мая 2020 г.[1] (102 страницы)
  11. ^ Аб Митке, Детлеф (2017) [2015]. «Бинарские кодексы». Informations- und Kommunikationstechnik (на немецком языке). Берлин, Германия. Exzeß-3-Code с дополнениями и вычитаниями. Архивировано из оригинала 25 апреля 2017 г. Проверено 25 апреля 2017 г.
  12. ^ Ричи, Дэвид (1986). Компьютерные пионеры. Нью-Йорк, США: Саймон и Шустер . п. 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. п. 156. ИСБН 0-07-027363-4.
  15. ^ Баше, Чарльз Дж.; Джексон, Питер Уорд; Масселл, Ховард А.; Вингер, Уэйн Дэвид (январь 1956 г.). «Проектирование системы IBM Type 702». Труды Американского института инженеров-электриков, Часть I: Связь и электроника . 74 (6): 695–704. дои : 10.1109/TCE.1956.6372444. S2CID  51666209. Бумага № 55-719.
  16. ^ IBM (июль 1957 г.). 65 Приемопередатчик данных / 66 Приемник данных для печати .