заявка
№ SU 1302438
МПК H03M7/12

Преобразователь позиционного кода из одной системы счисления в другую

Авторы:
ЛЕБЕДЕВ СЕРГЕЙ АЛЕКСАНДРОВИЧ
Номер заявки
4006195
Дата подачи заявки
07.01.1986
Опубликовано
07.04.1987
Страна
SU
Как управлять
интеллектуальной собственностью
Реферат

[156]

Изобретение относится к области вычислительной техники и может быть использовано при построении преобразователей кодов чисел из одной системы счисления в другую. Целью изобретения является расширение функциональных возможностей за счет обеспечения реверсивного преобразования ко,- да с любым основанием в код с другим основанием. Поставленная цель достигается тем, что в преобразователе позиционного кода из одной системы счисления в другую, содержащем масшта- бируюпще сумматоры 1, соединенные в треугольную матрицу, каждый масштабирующий сумматор содержит умножитель 7 и сумматор 8, первый вход которого соединен с выходом умножителя, а второй - с выходом соседнего младшего масштабирующего сумматора. 1 ил. СЛ

Формула изобретения

Описание

[1]

Изобретение относится к вычислительной технике и может быть использовано при построении преобразователей кодов целых чисел из одной системы счисления в другую.

[2]

Целью изобретения является расширение функциональных возможностей преобразователя за счет обеспечения реверсивного преобразования кода с одним основанием в код с другим осно ваниемо

[3]

На чертеже приведена структурная схема четырехразрядного преобразователя .

[4]

Преобразователе содерзкит масштаби рующие сумматоры 1, соединенные в треугольную матрицу, каждый из которых имеет вход 2 старшего разряда, вход 3 младшего разряда, выход 4 старшего разряда и выход 5 младшего разряда, управляющий вход 6 и содержит умножитель 7 и сумматор 8, Кроме того, преобразователь имеет разрядны входы 9, выход 10 выбора режима работы и выходы 11,

[5]

Если необходимо подчеркнуть употребление числа в качестве цифры используется знак С (например, ДД - цифра шестнадцатиричной или какой-ли бо другой системы счисления. Если не обходимо подчеркнуть в какой системе счисления записано число, запись числа индексируется основанием системы счисления, заключенным в скобки (например, 2S tLS число, записанное в шестнадцатиричной системе счисления.

[6]

Пусть преобразователь предназначен для преобразования целых чисел и системы счисления с основанием S в систему счисления с основанием R и обратно из R-системы в S. Положим для определенности, что S R. Для представления S-цифры в R-системе счисления достаточно одной соответ- ствующей R-цифры.

[7]

Количество входов 2 равно количеству входов 3, равно количеству выходов 4 и количеству выходов 5 масштабирующего сумматора 1 и равно т, ко- личёство выходов сумматора 8 равно соответственно 2т, При преобразовании числа из S-системы счисления в R на

[8]

На вход 2 второго сумматора 1 первой строки матрицы поступает число Ь, а на вход 3 этого сумматора 1 - число а , На выходах 4 и 5 сумматора 1 появляется чи.сло ( + а). Причем старшая цифра Появляется на вы ходе 4, а младшая - на выходе 5 Обоз начим старшую цифру числа (Ь S + а

[9]

входы 9 подаются не S-цифры, а S-коды

[10]

соответствующих, им цифр. Например, 55 как Ь УГ ЭД Гкак bt, - если S 10, R 16, то ш 2 шест- .р - надцатиричным цифрам , П, . .., Точно также на выходе 4 произволь- соответствуют те же самые стоичные ного i-ro (где ) масштабирую- хщфры, которые в свою очередь кодиру- щего сумматора 1 первой строки матриются двумя десятичными цифрами, т,е.

[11]

00,

[12]

01 и т.д. до

[13]

15 (знак заменяет слово соответствует), а при переводе десятичного числа в шестнадцатиричное на входы 9 подаются не десятичные цифры 0,1,,..,9, а пары десятичных цифр 00, 01, 02,.,,,09. .

[14]

При переводе (k + 1)-разрядного числа N из S-системы счисления в R преобразователь работает следующим .образом,

[15]

На вход 10 управления подается ло (или 1), При этом конгический О

[16]

ние умножитель 7, равна S, умножитель 7 и сумматор 8 работают в R-системе счисления, но результаты на их выходах появляются в виде S-кодов R-цифр, Обозначим S-цифры входного числа N как а, ,,.,, а, (где а - старшая цифра; а - младшая), тогда

[17]

а .,S Ч

[18]

(..,(( + а., )-S +

[19]

N а

[20]

.+ а

[21]

:-2 S : Л

[22]

30

[23]

45

[24]

На входе 2 первого масштабирующего сумматора 1 первой строки матрицы поступает число а , на вход 3 этого сзт матора 1 поступает число а , на выходах 4 и 5 которого появляется число ( + а, ), представленное в R-системе счисления двумя S-кодами R-дифр. При этом старшая R-цифра чис- 35 ла ( + а, ) появляется на выходе 4, а младшая R-цифра - на выходе 5 этого сумматора 1.

[25]

Обозначим старшую и младшую R-цифры числа ( + ) первого элемента первой строки матрицы как Ь.. и

[26]

40

[27]

к-1 - к .

[28]

.(2)

[29]

Поскольку S R, R-цифра b будет также S-цифрой, а R-цифра Ь может быть, а может и не быть S-цифрой,

[30]

На вход 2 второго сумматора 1 первой строки матрицы поступает число Ь, а на вход 3 этого сумматора 1 - число а , На выходах 4 и 5 сумматора 1 появляется чи.сло ( + а). Причем старшая цифра Появляется на выходе 4, а младшая - на выходе 5 Обозначим старшую цифру числа (Ь S + а )

[31]

как Ь УГ ЭД Гкак bt, - .р - Точно также на выходе 4 произволь- ного i-ro (где ) масштабирую- щего сумматора 1 первой строки матрицы появляется R-цифра b является также S-цифрой, а на выходе 5 этого сумматора 1 появляется R-цифра , йоторая определяется равенством

[32]

13

[33]

которая

[34]

[35]

Ьк.-(-1-(,

[36]

S + а

[37]

На выходе 5 последнего k-ro сумматора 1 первой строки матрицы появится

[38]

На вход 10 подается логическая 1 (или О соответственно). При этом

[39]

R-цифра, которая определяется выраже- 0 константа, на которую производит умножение умножитель 7, равна R, a умножитель 7 и сумматор 8 работают в ( I) S-системе счисления/

[40]

нием

[41]

Ч + Ь,- R,

[42]

где Ь,1 - R-цифра, появившаяся на выходе 4 этого k-ro сумматора 1 первой строки матрицы или

[43]

S + а ) S + S +..... + a)S +

[44]

S + b.. ) S +

[45]

b, (...((a + aj- R(...((b

[46]

Ьк-. )

[47]

S +,

[48]

ножение умножитель 7, равна R, a умножитель 7 и сумматор 8 работают в ( I) S-системе счисления/

[49]

Разбивка выходов сумматора 8 на f, 15 две группы по m является по существу переводом S-числа, появляющегося на выходе сумматора 8, в Т-систему (Т s) , причем Т-цифры оказываются закодированными S-цифрами. Можно считать , что сумматор 8 (а вместе с ним и умножитель 7) работает в Т-системе счисления, но и поэтому работа преобразователя при переводе числа из системы с меньшим основанием в

[50]

20

[51]

,... ,

[52]

к - + b,)-S + b, .

[53]

(5)

[54]

В формуле (5) уменьшаемое равно входному числу N, а вычитаемое равно

[55]

числу R десйтков, содержащихся в чис-25 систему с большим основанием происходит аналогично описанному.

[56]

Рассмотрим работу преобразователя четырехразрядного десятичного числа в таемое буквой М. Поскольку R-цифры. шестнадцатиричное и обратно.. В этом b b ,...,b являются также S-циф- зо рами, запись числа М в S-системе счисления имеет вид

[57]

ле N, умноженному на R. Таким образом, .R-цифра Ь равна числу R единиц, со- держаш ихся в числе N. Обозначим вычислучае , , .В качестве шестнадцатиричных цифр используются двухразрядные десятич;рые числа 00,- 01,..., 15.

[58]

M.Jb,,

[59]

. ,b .(6)

[60]

Разрядность числа М в S-системе счисления на единицу меньше, чем разрядность исходного числа N, а цифры числа М подаются на масштабирующие сумматоры 1 второй строки матрицы, содержащей (k - 1) сумматор 1 в точности так же, как цифры числа N пода- юуся элементы первой строки матрицы. Повторив - те же рассуждения для числа М и второй строки матрицы, получают , что на выходе 5 последнего эле- мента второй строки матрицы формируется R-цифра R-десятков, содержащихся в числе N, а на выходе 4 элементов

[61]

На выходах 4 элементов первой строки матрицы появятся десятичные коды 02, 04, и 02Г На выходе 5 последнего элемента первой строки матрицы пояг. вится десятичный код 03 шестнадцати-

[62]

второй строки матрицы формируется

[63]

S-представление числа R-сотен, содер-5о ричной цифры числа шестнадцатиричных

[64]

жащихся в числе N и т.д. до последней единиц,, содержащихся в числе 3875,;;,

[65]

строки матрицы. S-число, появившееся

[66]

на выходе 4 единственного элемента

[67]

последней строки матрицы, будет R-цифрой и дальнейшего его преобразования 55 леднего элемента второй строки матрине требуется.Цы появится десятичный код 02. СоотТаким образом, на .выходе 4 элемента 1 последней строки матрицы и на выходах 5 последних элементов всех

[68]

Соответственно на выходах 4-элементов второй строки матрицы появятся десятичные коды 01 и 05, на выходе 5, посветственно на выходе 4 элемента последней строки матрицы появится десятичный код 00, на выходе 5 которого

[69]

[70]

24384

[71]

строк матрицы формируется R-представ- ление исходного числа, поданного на преобразователь в S-системё счисления.

[72]

При переводе (k + 1)-разрядного числа L из R-системы счисления в S-npe- образователь работает следующим образом .

[73]

На вход 10 подается логическая 1 (или О соответственно). При этом

[74]

0 константа, на которую производит ум

[75]

ножение умножитель 7, равна R, a умножитель 7 и сумматор 8 работают в S-системе счисления/

[76]

Разбивка выходов сумматора 8 на 15 две группы по m является по существу переводом S-числа, появляющегося на выходе сумматора 8, в Т-систему (Т s) , причем Т-цифры оказываются закодированными S-цифрами. Можно считать , что сумматор 8 (а вместе с ним и умножитель 7) работает в Т-системе счисления, но и поэтому работа преобразователя при переводе числа из системы с меньшим основанием в

[77]

20

[78]

[79]

[80]

Рассмотрим работу преобразователя четырехразрядного десятичного числа в шестнадцатиричное и обратно.. В этом о

[81]

5

[82]

0

[83]

5

[84]

случае , , .В качестве шестнадцатиричных цифр используются двухразрядные десятич;рые числа 00,- 01,..., 15.

[85]

При переводе числа из десятичной системь счисления в шестнадцатиричную на вход 10 подается логический О. При этом константа, на.которую производит умножение умножитель 7, равна 10, а работать умножитель 7 и сумматор 8 будут в шестнадцатиричной системе счисления.

[86]

Перевод десятичного числа, например , 3875 р осуществляется следующим образом.

[87]

На выходах 4 элементов первой строки матрицы появятся десятичные коды 02, 04, и 02Г На выходе 5 последнего элемента первой строки матрицы пояг. вится десятичный код 03 шестнадцати-

[88]

единиц,, содержащихся в числе 3875,;;,

[89]

Соответственно на выходах 4-элементов второй строки матрицы появятся десятичные коды 01 и 05, на выходе 5, посЦы появится десятичный код 02. Соответственно на выходе 4 элемента последней строки матрицы появится десятичный код 00, на выходе 5 которого

[90]

появится десятичный код 15. Десятичный код 00, появившийся на выходе 4 элемента последней строки матрицы, соответствует числу шестнадцатиричных тысяч. Таким образом, получается шестнадцатиричное представление

[91]

3875,,„, 00

[92]

15 02 03

[93]

(7)

[94]

[95]

При переводе числа из шестнадцатиричной системы счисления в десятиричную на вход 10 подается логическая 1. При этом константа, на которую производит умножение умножитель 7, равна 16, а работать Умножитель 7 и сумматор 8 будут;в десятичной системе счисления.

[96]

Перевод шестнадцатиричного числа,

[97]

например До ЛХ .02. . ОЗ , - -- 16 ществляется следующим .

[98]

На выходах 4 элементов первой строки матрицы появятся десятичные Коды 01., 12 и 00, на выходе 5 последнего элемента первой строки матрицы появится десятичный код стоич- ной цифры 35, На выходах 4 элементов второй строки матрицы появятся десятичные коды 00 и 04, на выходе 5 пос леднего элемента второй строки матрицы появится десятичный йод стоичной цифры 48, На выходе 4 и 5 элемента последней строки.матрицы появятся десятичные коды 00 и 04. Таким образом

[99]

SUMS

[100]

Гоо044835:;оГ -Строка Га Га Га Та Га Га Га Та Га I b Гь Гь Гь Ть ГьТь Гь .±....1-±-1

[101]

149

[102]

О 1 О О 1 О 1 О .1 О 1 О 1 1 1 1 1Заполнив всю таблицу, получают табличное задание системы функций. В. эту таблицу входят все возможные наборы аргументов а а ,...,а.

[103]

Рациональнее всего, но не обязательно , выполнять требуемое устрой- с тво на основе ПЗУ, например, с организацией 9 - 8.

[104]

Вторую половину объема ПЗУ отводят под устройство, которое работает при переводе двоичных чисел в двоично- десятичные. В этом случае на вход 6 подается единица. Наиболее рационально объем ПЗУ используется,-если предварительно преобразовать двоичное

[105]

5

[106]

При преобразовании двоично-десятичных чисел в двоичные S 10, R 2, m 4. Коэффициент умножения умножителя 7 равен 10,- умножитель 7 и сумматор 8 работают в двоичной сис- текг счисления. Для того, чтобы спроектировать масштабирующий сумматор 1, необходимо задать систему логических функций в табличной форме. Обозначим младший вход 3 а, а, а„, а. Аналогично обозначим вход, а,,, а, а и а, а вход 6 как а. Точно так же обозначим выход 5 Ь, Ь

[107]

- 4 Ь

[108]

л

[109]

и b

[110]

b, иЬ

[111]

а выход 4

[112]

Таблица, задающая эту систему функций, содержит 256 строк и .17 столбцов. В первых девяти столбцах записываются значения аргументов а, а,..., а, в остальных восьми столб0 Цах - значения функ ций Ц, Ь,... ,Ьо,. Поскольку при переводе двоично-десятичных чисел в двоичные на вход 6 корректирующего элемента 1 подается ноль, значение аргумента а в состав5 ляемой таблице всегда нулевое. Пронумеруем строки таблицы от О до 255. Рассматривая наборы переменных и как четырехразрядные двоичные числа, находят вось0 ьшразрядное двоичное число, определяемое по формуле

[113]

ЪЪь Е.у ,,,,

[114]

и запишем значения разрядов этого числа в столбцах ,... ,Ьд в строке с двоичным номером . a e S, а, а , а, а

[115]

5

[116]

н 1/0 i 3e3s& 5 a«S S «

[117]

Например, 149-я строка составляемой таблицы выглядит следующим образом:

[118]

число в двоично-восьмеричное, а затем переводить его в двоично-десятичное.

[119]

Сначала двоичное число разбивается на триады, начиная с младшего разряда а затем каждая триада дополняется до тетрады добавлением в нее нулевого старшего разряда. Это преобразование осуществляется внешним монтажом входов 9.

[120]

Таким образомj при преобразовании двоично-восьмеричного числа в двоично-десятичное S 8,,R Ipj.m 1, т.е. входы 2 и 3 и выходы 4,5 состоят из четырех двоичных разрядов. Коэффициент умножения умножителя 7 равен 8,

[121]

умножитель 7 и сумматор 8 работают в десятичной системе счисления. Для проектирования масштабирующего сумматора составляют аналогичную таблицу. Обозначают двоичные разряды 3 входов и а , начиная со старшего,

[122]

как

[123]

аза.,а.

[124]

а двоичные разряды входа 2 как а.а а и а, двоичные разряды выхода 5 как

[125]

да 4

[126]

и Ъ,,

[127]

двоичные разряды выхо- как и b соответ.стренно Таблица имеет семнадцать столбцов Заполнение таблицы

[128]

прои сто строк

[129]

изводят следуюпц1м образом.

[130]

Нумеруют строки таблицы двухразрядными десятичными числами от 00 до

[131]

I J I I l I l I J I KЬIJIi A

[132]

67

[133]

101 1001 1 101010101

[134]

Заполнив всю таблицу, получают табличное задание функций. На не вошедших в таблицу наборах аргументов функции могут принимать произвольные зна-25 чения.

[135]

Предлагаемое устройство может быть также реализовано на основе ПЗУ с организацией , причем для его реализации требуется половина объема ПЗУ. .,Q

[136]

Объединяя обе Составленные таблицы в одну, получают полную таблицу программирования ПЗУ для работы в качестве масштабирующего сумматора в преобразователе целых чисел, предназначенном для преобразования двоично- десятичных чисел в двоичные и двоичных в двоично-десятичные

[137]

Формула изобретения

[138]

Преобразователь позиционного кода из одной системы счисления в другую, содержащий масштабирующие сумматоры, соединенные в треугольную матрицу таким образом, что входы старшего разряда первого масштабирующего сумматора и входы младшего разряда всех масштабирующих сумматоров первой строки матрицы соединены с соответствующими разрядными входами преобразователя, входы старших разрядов всех масштаби- сумматоров первой строки, кроме первого, соединены с выходами младших разрядов соседнего старшего масштабирующего сумматора первой строки, вход старшего разряда первого масштабирующего сумматора i-й строки

[139]

99. В первый столбец таблицы, соот- .ветствующий. а., во все строки заносится единица. В следующие восемь столбцов таблицы заносится двоично-десятичный код номера строки. Для строки.

[140]

имеющей номер а I-1

[141]

разрядное число

[142]

[143]

находят двух

[144]

10

[145]

15

[146]

ь

[147]

- tio 1-1 1О

[148]

-ЧЮ

[149]

Затем записывают в строку, имеющую номер столбцы, соответствующие функциям, - двоично-десятичные коды цифр 0, и а. Например, 67-я строка этой таблицы выглядит следующим образом:

[150]

5

[151]

Q

[152]

5

[153]

0

[154]

Q 5

[155]

(i 2 - k - 1, где k - число разрядов входного кода) соединен с выходом старшего разряда масштабирующего сумматора (i - 1)-й строки, вход младшего разряда j-ro масштабирующего сумматора i-й строки (j 1 - k - i) соединен с выходом старшего разряда (J + 1)-го масштабирующего сумматора (i - 1)-й строки, вход старшего разряда (j + 1)-го масштабирующего сумматора i-и строки соединен с выходом младшего разряда j-ro масштабирующего сумматора i-й строки, выход старшего разряда масштабирующего сумматора (k - 1)-й строки и выходы младших разрядов последних масштабирующих сумматоров всех строк являются разрядными выходами преобразователя, о тличающийся тем, что, с целью расширения функциональных возможностей за счет обеспечения реверсивного преобразования кода с любым основанием в код с любым другим основанием, в нем все масштабирующие сумматоры содержат умножитель и сумматор , управляющие входы которых соединены с входом выбора режима работы преобразователя, выход умножителя соединен с входом первого слагаемого сумматора, вход второго слагаемого которого соединен с входом младшего разряда масштабирующего сумматора, вход старшего разряда которого соединен с входом умножителя, первая и вторая группы выходов сумматора являются соответственно выходами старшего и младшего разрядов масштабирующего сумматора.

Как компенсировать расходы
на инновационную разработку
Похожие патенты