Превышение-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-excess-3 двоичный (часто сокращенно XS-3 , [ 4 ] 3XS [ 1 ] или Х3 [ 5 ] [ 6 ] ), сдвинутый двоичный код [ 7 ] или код Стибитца [ 1 ] [ 2 ] [ 8 ] [ 9 ] (по мотивам Джорджа Стибица , [ 10 ] который построил релейную арифметическую машину в 1937 году [ 11 ] [ 12 ] ) — это самодополняющая двоично-десятичная (BCD) система счисления . Это предвзятое представление . Код Excess-3 использовался, среди прочего, на некоторых старых компьютерах, а также в кассовых аппаратах и портативных электронных калькуляторах 1970-х годов.
Представительство
[ редактировать ]Смещенные коды — это способ представления значений со сбалансированным количеством положительных и отрицательных чисел с использованием заранее заданного числа N в качестве значения смещения. Смещенные коды (и коды Грея ) являются невзвешенными кодами. В коде с избытком 3 числа представлены десятичными цифрами, а каждая цифра представлена четырьмя битами как цифровое значение плюс 3 («лишняя» сумма):
- Наименьшее двоичное число представляет наименьшее значение ( 0 — превышение ).
- Наибольшее двоичное число представляет собой наибольшее значение ( 2 Н +1 − превышение − 1 ).
Десятичный | Превышение-3 | Стибиц | ДЦД 8-4-2-1 | Двоичный | 3 из 6 МККТТ расширение [ 13 ] [ 1 ] |
4 из 8 Хэмминга расширение [ 1 ] |
---|---|---|---|---|---|---|
−3 | 0000 | pseudo-tetrade | Н/Д | Н/Д | Н/Д | Н/Д |
−2 | 0001 | pseudo-tetrade | ||||
−1 | 0010 | pseudo-tetrade | ||||
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 | pseudo-tetrade | pseudo-tetrade | 1010 | Н/Д | Н/Д |
11 | 1110 | pseudo-tetrade | pseudo-tetrade | 1011 | ||
12 | 1111 | pseudo-tetrade | pseudo-tetrade | 1100 | ||
13 | Н/Д | Н/Д | pseudo-tetrade | 1101 | ||
14 | pseudo-tetrade | 1110 | ||||
15 | pseudo-tetrade | 1111 |
Чтобы закодировать число, например 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 :
entity bcd8421xs3 is
port (
a : in std_logic;
b : in std_logic;
c : in std_logic;
d : in std_logic;
an : buffer std_logic;
bn : buffer std_logic;
cn : buffer std_logic;
dn : buffer std_logic;
w : out std_logic;
x : out std_logic;
y : out std_logic;
z : out std_logic
);
end entity bcd8421xs3;
architecture dataflow of bcd8421xs3 is
begin
an <= not a;
bn <= not b;
cn <= not c;
dn <= not d;
w <= (an and b and d ) or (a and bn and cn)
or (an and b and c and dn);
x <= (an and bn and d ) or (an and bn and c and dn)
or (an and b and cn and dn) or (a and bn and cn and d);
y <= (an and cn and dn) or (an and c and d )
or (a and bn and cn and dn);
z <= (an and dn) or (a and bn and cn and dn);
end architecture dataflow; -- of 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. коду приемопередатчика [ 16 ] (это код 4 из 8 с расстоянием Хэмминга 2), [ 1 ] также возможно определить расширение кода с избытком 3 4 из 8, достигая расстояния Хэмминга 4, если должны передаваться только десятичные цифры. [ 1 ]
См. также
[ редактировать ]- Смещенное двоичное представление , избыточное N , смещенное представление
- Превышение-128
- Код избыточного Грея
- Сдвинутый код Грея
- Код Грея
- код m-of-n
- Код Айкена
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д р с т в v В х и С аа аб и объявление но из в ах есть Штайнбух, Карл В. , изд. Написано в Карлсруэ, Германия. Обработка сообщений в мягкой обложке (на немецком языке) (1-е изд.). Берлин / Геттинген / Нью-Йорк: Springer-Verlag OHG . стр. 71–73, 1081–1082. LCCN 62-14511 .
- ^ Перейти обратно: а б Штайнбух, Карл В .; Вебер, Вольфганг; Хайнеманн, Трауте, ред. (1974) [1967]. Карманный справочник по информатике - Том II - Структура и программирование компьютерных систем (на немецком языке). Том 2 (3-е изд.). Берлин, Германия: Springer Verlag . стр. 98–100. ISBN 3-540-06241-6 . LCCN 73-80607 .
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ Ричардс, Ричард Колер (1955). Арифметические операции в цифровых вычислительных машинах . Нью-Йорк, США: ван Ностранд . п. 182.
- ^ Каутц, Уильям Х. (июнь 1954 г.). «Оптимизированное кодирование данных для цифровых компьютеров» . Протокол съезда Национального съезда IRE 1954 года, Часть 4: Электронные компьютеры и информационные технологии . 2 . Стэнфордский исследовательский институт, Стэнфорд, Калифорния, США: Институт радиоинженеров, Inc .: 47–57. Сессия 19: Теория информации III – Скорость и вычисления . Проверено 22 мая 2020 г. (11 страниц)
- ^ Шмид, Герман (1974). Десятичные вычисления (1-е изд.). Бингемтон, Нью-Йорк, США: John Wiley & Sons, Inc., с. 11 . ISBN 0-471-76180-Х . Проверено 03 января 2016 г.
- ^ Шмид, Герман (1983) [1974]. Десятичные вычисления (1 (переиздание) изд.). Малабар, Флорида, США: Издательская компания Роберта Э. Кригера. п. 11. ISBN 0-89874-318-4 . Проверено 03 января 2016 г. (Примечание. По крайней мере, некоторые партии этого репринтного издания содержали опечатки с дефектными страницами 115–146.)
- ^ Стибиц, Джордж Роберт ; Ларриви, Жюль А. (1957). Написано в Андерхилле, Вермонт, США. Математика и компьютеры (1-е изд.). Нью-Йорк, США / Торонто, Канада / Лондон, Великобритания: McGraw-Hill Book Company, Inc., с. 105. LCCN 56-10331 . (10+228 страниц)
- ^ Доктор Фолкерт; Штайнхауэр, Юрген (18 июня 1973 г.). Цифровая электроника . Техническая библиотека Philips (PTL) / Macmillan Education (переиздание 1-го изд. на английском языке). Эйндховен, Нидерланды: The Macmillan Press Ltd. / Gloeilampenfabriken Н.В. Филипс . стр. 42, 44. doi : 10.1007/978-1-349-01417-0 . ISBN 978-1-349-01419-4 . СБН 333-13360-9 . Проверено 1 июля 2018 г. [ постоянная мертвая ссылка ] (270 страниц) (Примечание. Основано на переводе первого тома двухтомного немецкого издания.)
- ^ Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. Цифровая электроника в измерительной технике и обработке данных: Теоретические основы и схемотехника . Специализированные книги Philips (на немецком языке). Том I (улучшенное и расширенное 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 годах.)
- ^ Стибиц, Джордж Роберт (9 февраля 1954 г.) [19 апреля 1941 г.]. «Сложный компьютер» . Патент US2668661A . Проверено 24 мая 2020 г. [1] (102 страницы)
- ^ Перейти обратно: а б Митке, Детлеф (2017) [2015]. «Двоичные коды» . Информационные и коммуникационные технологии (на немецком языке). Берлин, Германия. Лишний код 3 с методами сложения и вычитания. Архивировано из оригинала 25 апреля 2017 г. Проверено 25 апреля 2017 г.
- ^ Ричи, Дэвид (1986). Компьютерные пионеры . Нью-Йорк, США: Саймон и Шустер . п. 35 . ISBN 067152397X .
- ^ Перейти обратно: а б Международный консультативный комитет по телефону и телеграфу (CCITT), Рабочая группа 43 (03.06.1959). Вклад № 1 . МКИТТ, ГТ 43 № 1.
{{cite book}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ Хейс, Джон П. (1978). Компьютерная архитектура и организация . Международная книжная компания McGraw-Hill. п. 156. ИСБН 0-07-027363-4 .
- ^ Баше, Чарльз Дж.; Джексон, Питер Уорд; Масселл, Ховард А.; Вингер, Уэйн Дэвид (январь 1956 г.). «Проектирование системы IBM Type 702». Труды Американского института инженеров-электриков, Часть I: Связь и электроника . 74 (6): 695–704. дои : 10.1109/TCE.1956.6372444 . S2CID 51666209 . Статья № 55-719.
- ^ IBM (июль 1957 г.). 65 Приемопередатчик данных / 66 Приемник данных для печати .