Преобразователь двоично-десятичного кода в двоичный
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении преобразователей в вычислительных устройствах и устройствах обработки данных. Цель изобретения - повышение быстродействия преобразователя - достигается за счет введения блока коррекции, входы которого соединены с выходами блоков промежуточного преобразования, а выходы соединены с первыми входами сумматора вторые входы которого соединены с входами преобразователя, причем блок коррекции содержит дешифратор десятков и шифратор, входы которого соединены с выходами дешифратора. Это позволяет осуществить прямую коррекцию выходного кода в зависимости от числа десятков во входном коде. 1 з.п. ф-лы, 2 ил, табл. (Л С
СОЮЗ СОВЕТСКИХ соцИАлистических
РЕСПУБЛИК (so 4 Н 03 M 7/12
»
Я с
ГОсудАРстВенный комитет сссР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (2 1) 3755000/24-24 (22) 13.06.84 (46) 30.03.86. Бюл. Р 12 (72) С.А. Редчин (53) 681.325(088.8) (56) Авторское свидетельство СССР
У 911505, кл. С 06 F 5/02, 1982.
Авторское свидетельство СССР
У 1005027, кл. G 06 F 5/02, 1983. (54) ПРЕОБРАЗОВАТЕЛЬ ДВОИЧНО-ДЕСЯТИЧНОГО КОДА В ДВОИЧНЫЙ (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении преобразователей в вычислительных устройствах и устройствах обработки
„„SU„„1221758 А данных. Цель изобретения — повышение быстродействия преобразователя— достигается за счет введения блока коррекции, входы которого соединены с выходами блоков промежуточного преобразования, а выходы соединены с первыми входами сумматора вторые входы которого соединены с входами преобразователя, причем блок коррекции содержит дешифратор десятков и шифратор, входы которого соединены с выходами дешифратора. Это позволяет осуществить прямую коррекцию выходного кода в зависимости от числа десятков во входном коде. 1 s,ï. ф-лы, 2 ил, табл.
010111112
00110110г
10010101
Ьли — 6 (-2)
) -(-11 ) где А — корректирующее число, — количество десятичных разрядов числа; у(-<)- количество старших десятичных разрядов;
k — десятичное значение старших десятичных разрядов.
Поскольку в устройстве происходит преобразование двоично-десятичного кода в двоичный, то в нем должно осуществляться вычитание кодов. A именно из числа, выраженного в двоично-десятичном коде, но подаваемого в виде двоичного кода, вычитается корректирующее число, также подаваемое в виде двоичного кода. Для осуществления такой операции можно ис55
10000, 01010г
00110г
1 12217
Изобретение относится к автоматике и цифровой вычислительной технике и может быть использовано при построении преобразователей в вычислительных устройствах и устройствах обработки данных.
Цель изобретения — увеличение быстродействия преобразователя.
На фиг. 1 приведена блок-схема предлагаемого преобразователя, со- 10 держащего три декады; на фиг. 2— схема блока коррекции.
Преобразователь содержит (фиг. 1) входы 1 преобразователя, сумматор 2, состоящий иэ последовательно вклю- 15 ченных одноразрядных. сумматоров 3,-3, выходы 4 преобразователя, блок 5 коррекции, входы 6 блока 5 коррекции, выходы 7 блока 5 коррекции входного кода, блоки 8 промежуточного преоб- 20 разования, осуществляющие преобразование одного десятичного разряда и выполненные на двоично-десятичных дешифраторах.
Блок 5 коррекции (фиг. 2) содер- 25 жит группы элементов И 9 и ИЛИ 10.
Группа элементов И 9 в совокупности с связями входов образует десятич тый дешифратор 11, входы 12 двоичнодесятичных дешифраторов. 30
Входы 1 преобразователя разделены по тетрадам: первая тетрада (входы 1,) разряд единиц, вторая тетрада (входы 1 ) — разряд десятков; третья
2 тетрада (входь! 13 ) paspnp сотен 35 преобразуемого числа. В каждой тетраде разряды двоично-десятичного о кода расположены слева направо: 2
Я 2
Работа преобразователя основана на принципе сложения двух чисел, выраженных в двоичном коде, в двоичном сумматоре.
Проанализируем числа, выраженные в двоичном и двоично-десятичном ко- 45 дах.
Число 10 имеет следующие представления:
10„= 01010, = 10000
Если из этого числа, выраженного в двоично-десятичном коде, но записанного в виде двоичного кода, вычесть то же самое число, выраженное з двоичном коде, то получаем.
58 2
Число 00110г = 6,о является дополнением к числу 01010, чтобы просуммировав их, получить число 10000 .
Можно убедиться, что любое число, большее О, но меньшее 100, выраженное в двоичном коде, можно дополнить до числа, выраженного в двоично-десятичном коде, если воспользоваться формулой:
А = 6 (Х-1), где А — корректирующее число;
Х вЂ” порядковый номер десятка числа; бто = 2 + 2 = 0110г — константа.
Возьмем, например, число 95.
95„= 01011111
Порядковый номер десятка — 10.
А 6 (.10 i) 54 о 001101102
Сложим два двоичных числа:
Если представить в виде двоичнодесятичного числа, то
10010101г,о = 95 о .
Для чисел от 100 до 999 корректирующее число рассчитывается по формузте:
А = 6(Х-1) + 96(У-1) = 6(Х-1 +
+ 6 16(У-1), где У вЂ” порядковый номер сотни числа, 96 то бто 16то (2 z+
= 01100000 — константа, Для любого числа корректирующее число можно рассчитать по формуле:
a=z,,., (. ) ("
1=2
1221758 пользовать двоичный сумматор. Чтобы осуществить операцию вычитания в сумматоре необходимо оба операнда представить в дополнительном коде.
Так как первый операнд (двоично †де сятичный код, подаваемый в виде двоичного кода) больше второго операнда (корректирующее число, подаваемое в виде двоичного кода), то сумма их будет всегда положительной.
Дополнительный код первого слагаемого и суммы идентичен прямому коду, т.е: (х„„)-(х„,1- х
Ни код, поступающий на входы группы 1 преобразователя, ни код, образующийся на выходах сумматора 2, не требуют дополнительной обработки, а следовательно, и дополнительной аппаратуры. В общем случае дополнитель— ный код второго слагаемого получается путем замены во всех разрядах прямого бавления к млад ;ему разряду "1".
В предлагаемом устройстве дополнительный код второй слагаемого вырабатывает блок коррекции входного кода. "1" переноса старшего разряда, образующаяся при сложении двух слагаемых в дополнительных кодах, не используется.
Пример На входы 1 12, 19
Э преобразователя поступает параллельный двоично-десятичный код числа 999 в виде 1001 1001 1001 „„. На выход младшего разряда (2 ) выходов преоб2-1О
° разователя поступает " 1". На первый вход сумматора 3 поступает 0 1; на первый выход сумматора 3 — 0 ; на первый вход сумматора 3 — "1", и т.д. ..., на первый вход сумматора
38 - "1", на первый вход сумматора
3 — "0 . Одновременно двоично-де9 сятичный код тетрады десятков поступает на входы 12 и далее на двоичнодесятичный дешифратор 8 . Двоично1 десятичный.код тетрады сотен поступает на входы 12 и далее на двоично2 десятичный дешифратор 8 десятичных разрядов.
После дешифрации с девятого вы— хода двоично-десятичного дешифратора
8 "1" поступает через входы 6< блока
5 коррекции входного кода на первый вход, а с девятого выхода дешифратора 8 поступает через входы 6 блока
5 коррекции входного кода на второй вход элемента и 999, который выра40
5
35 батывает сигнал выборки корректирующего кода. С вьЫода элемента П 99
"1" поступает на входы следующих элементов ИЛИ группы 10 : 104, 10
10, 10, 109 . "Единичные" разряды двоичного кода корректирующего числа поступают с элементов ИЛИ 10<, 10
104, 106, 109 группы 10 на выходы
79, 7, 79 блока 5 коррекци и далее на вторые входы сумматоров
31, 3, 3, 3, 3 сумматора 2 соответственно. "Нулевые разряды двоичного кода корректирующего числа поступают с элементов ИЛИ 104, 10, 10, 108 группы 10 на в оды 74 75 77
7> блока 5 коррекции входного кода и далее на вторые входы сумматоров
34, 3, 3, 3 сумматора 2 соответственно.
Таким образом, на первые входы сумматоров 3< + 39 поступает код
011001100 . На вторые входы суммато2 ров 3„-39 поступает код 100100111 .
При суммировании на выходах. суммато-, ров 3 + 39 сумматора 2 образуется код 111110011 . С учетом младшего разряда, передаваемого с входа преобразователя на его выход без обработки, на выход преобразователя поступает двоичный код 1111100111 =
= 999,> . В случаях, когда при сложении двух операндов образуется "1" переноса в старшем разряде, т.е. в сумматоре 3 сумматора 2, — она не используется.
Корректирующие коды для остальных входных чисел приведены в таблице.
Формул а и зо бр ет ения
1. Преобразователь двоично-десятичного кода в двоичный, содержащий п — 1 блоков промежуточного преобразования, где л — число десятичных разрядов входного кода, и сумматор, выходы которого являются выходами старших разрядов преобразователя, вход младшего разряда сумматора является выходом младшего разряда преобразователя, входы 1 -го (1 ° 2-tl) десятичного разряда которого соединены с входами 1 -го блока промежуточного преобразования, а входы трех старших разрядов группы входов единиц соединены с первыми входами с первого по третий разрядов сумматора, отличающийся тем, что, 1221758
5 с целью увеличения быстродействия преобразователя, в него введен блок коррекции, (« --1)-я группа входов которого соединена соответственно с выходами (i -1)-ro блока промежуточно- 5 го преобразования, который выполнен в виде двоично-десятичного. дешифраI « тора, двоичные входы « -ro десятичного разряда преобразователя, кроме входов двух старших двоичных разрядов !О соединены соответственно с первыми входами с 4(« -1)-ro по (4 « -1)-й разрядов сумматора,втораягруппа входов сумматорасоединена свыходами соответствующих разрядов блока коррекции. 15
2 -Е g, .616"
У де- Преобразуе- Еоррексятка мое число тирующее число
Корректирующее число в дополФ элемента
0-9
+ 9
9б
9е
+ + + +
10
9«о
+ — + + + +
9«г
9, 15
+ +
9«s
9«
10-19
20-29
30-39
40-49
50-59
60-69
70-79
80-89
90-99
". 00-109
110-119
120-129
130" 139
140-149
150-159
160-169
6 111111010
12 111110100
18 111111110
24 1111101000
30 1111100010
36 1111011100
42 1111010110
48 1111010000
54 1111001010
156 1101100100
162 1101011110
168 1101011000
174 1101010010
180 1101001100
186 1101000110
192 1101000000
2. Преобразователь по п. 1, о тл и ч а ю шийся тем, что в нем блок коррекции содержит десятичный дешифратор и группу элементов HJIH, выходы которых являются выходами блока коррекции, причем k -й выход десятичного дешифратора (k -1(10 -1) соединен с входом ««« -х элементов ИЛИ группы, для которых выполнено условие
Корректирующее число (дополнительный код) 2 2 2 2 2 2 2 2 2
+ + + + + + + — + 9
+ + + + + — + +
+ + + + - + - + +
1221758
Коррек- Корректирующее тирую- число в дополщее нительном код число
Р элеПреобразуемое число
Ф десятка мента
1100111010
+ +
+ +. 1100110100
+ + — + +
1100101110
+ 9 го
+ — + +
+ 9 г
+ — + +
1010111100
9 к
+ +
+ + + 9
10 10 10 106 10 10 10 10 10
У элемента ИЛИ
18 170-179 198
19 180-189 204
20 190-199 210
21 200-209 312 1011001000
22 210-219 318 1011000010
23 220-229 324
24 . 230-239 330 1010110110
240-248 336 1010110000
990-999 1458 1001001110
Продолжение таблицы
Корректирующее число (дополнительный код) 2 2 2 2 2 2 2 2 2
+ — + 9
+ 9
+ + + 9 9
+ + — 9гг
+ + 9г
1221758
7r 7z 7z 7е 7s 7s 7 Уе 7 фиг. 2
Составитель M. Аршавскнй
Техред Л.Олейник Корректор М.Самборская
Редактор И. Касарда
Заказ 1621/60
Тираж 816 . Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4