Изобретение относится к области вычислительной техники и может быть использовано при построении преобразователей кодов чисел из одной системы счисления в другую. Целью изобретения является расширение функциональных
возможностей за счет обеспечения реверсивного преобразования ко,- да с любым основанием в код с другим основанием. Поставленная цель достигается
тем, что в преобразователе позиционного
кода из одной системы счисления в другую, содержащем масшта- бируюпще сумматоры 1, соединенные в треугольную матрицу, каждый масштабирующий
сумматор содержит умножитель 7 и сумматор 8, первый вход которого соединен с выходом умножителя, а второй
- с выходом соседнего младшего масштабирующего сумматора. 1 ил. СЛ
Изобретение относится к вычислительной
технике и может быть использовано при построении преобразователей кодов целых чисел из одной системы
счисления в другую. Целью изобретения является расширение функциональных возможностей
преобразователя за счет обеспечения реверсивного преобразования кода с одним основанием в код с другим осно
ваниемо На чертеже приведена структурная схема четырехразрядного преобразователя
. Преобразователе содерзкит масштаби рующие сумматоры 1, соединенные в
треугольную матрицу, каждый из которых имеет вход 2 старшего разряда, вход 3 младшего разряда, выход 4
старшего разряда и выход 5 младшего разряда, управляющий вход 6 и содержит
умножитель 7 и сумматор 8, Кроме того, преобразователь имеет разрядны
входы 9, выход 10 выбора режима работы и выходы 11, Если необходимо подчеркнуть употребление числа в качестве цифры используется знак С (например, ДД -
цифра шестнадцатиричной или какой-ли бо другой системы счисления. Если не
обходимо подчеркнуть в какой системе счисления записано число, запись
числа индексируется основанием системы счисления, заключенным в скобки
(например, 2S tLS число, записанное в шестнадцатиричной системе счисления. Пусть преобразователь предназначен для преобразования целых чисел и системы счисления с основанием S в
систему счисления с основанием R и обратно из R-системы в S. Положим для определенности, что S R. Для
представления S-цифры в R-системе счисления достаточно одной соответ- ствующей R-цифры. Количество входов 2 равно количеству входов 3, равно количеству выходов
4 и количеству выходов 5 масштабирующего сумматора 1 и равно т, ко- личёство выходов сумматора 8 равно
соответственно 2т, При преобразовании числа из S-системы счисления в R на На вход 2 второго сумматора 1 первой строки матрицы поступает число
Ь, а на вход 3 этого сумматора 1 - число а , На выходах 4 и 5 сумматора 1 появляется чи.сло ( + а).
Причем старшая цифра Появляется на вы ходе 4, а младшая - на выходе 5 Обоз
начим старшую цифру числа (Ь S + а входы 9 подаются не S-цифры, а S-коды соответствующих, им цифр. Например, 55 как Ь УГ ЭД Гкак bt, - если S 10, R 16, то ш 2 шест- .р -
надцатиричным цифрам , П, . .., Точно также на выходе 4 произволь- соответствуют те же самые стоичные ного i-ro (где ) масштабирую-
хщфры, которые в свою очередь кодиру- щего сумматора 1 первой строки матриются двумя десятичными цифрами, т,е. 00, 01 и т.д. до 15 (знак заменяет слово
соответствует), а при переводе десятичного числа в шестнадцатиричное на
входы 9 подаются не десятичные цифры 0,1,,..,9, а пары десятичных цифр 00, 01, 02,.,,,09. . При переводе (k + 1)-разрядного числа N из S-системы счисления в R
преобразователь работает следующим .образом, На вход 10 управления подается ло
(или 1), При этом конгический О ние умножитель 7, равна S, умножитель
7 и сумматор 8 работают в R-системе счисления, но результаты на их выходах
появляются в виде S-кодов R-цифр, Обозначим S-цифры входного числа N
как а, ,,.,, а, (где а - старшая цифра; а - младшая), тогда а .,S Ч (..,(( + а., )-S + N а .+ а :-2 S : Л 30 45 На входе 2 первого масштабирующего сумматора 1 первой строки матрицы
поступает число а , на вход 3 этого сзт матора 1 поступает число а , на
выходах 4 и 5 которого появляется число ( + а, ), представленное в R-системе счисления двумя S-кодами
R-дифр. При этом старшая R-цифра чис- 35 ла ( + а, ) появляется на выходе
4, а младшая R-цифра - на выходе 5 этого сумматора 1. Обозначим старшую и младшую R-цифры числа ( + ) первого элемента первой строки матрицы как Ь.. и 40 к-1 - к . .(2) Поскольку S R, R-цифра b будет также S-цифрой, а R-цифра Ь может
быть, а может и не быть S-цифрой, На вход 2 второго сумматора 1 первой
строки матрицы поступает число Ь, а на вход 3 этого сумматора 1 -
число а , На выходах 4 и 5 сумматора 1 появляется чи.сло ( + а).
Причем старшая цифра Появляется на выходе 4, а младшая - на выходе 5 Обозначим
старшую цифру числа (Ь S + а ) как Ь УГ ЭД Гкак bt, - .р -
Точно также на выходе 4 произволь- ного i-ro (где ) масштабирую-
щего сумматора 1 первой строки матрицы появляется R-цифра b
является также S-цифрой, а на выходе 5 этого сумматора 1 появляется R-цифра
, йоторая определяется равенством 13 которая Ьк.-(-1-(,
S + а На выходе 5 последнего k-ro сумматора
1 первой строки матрицы появится На вход 10 подается логическая 1
(или О соответственно). При этом R-цифра, которая определяется выраже- 0 константа, на которую производит умножение умножитель 7, равна R, a умножитель
7 и сумматор 8 работают в ( I) S-системе счисления/ нием
Ч + Ь,- R, где Ь,1 - R-цифра, появившаяся на выходе
4 этого k-ro сумматора 1 первой строки матрицы или S + а ) S +
S +..... + a)S + S + b.. ) S + b, (...((a
+ aj- R(...((b Ьк-. ) S +, ножение умножитель 7, равна R, a умножитель 7 и сумматор 8 работают в
( I) S-системе счисления/ Разбивка выходов сумматора 8 на
f, 15 две группы по m является по существу переводом S-числа, появляющегося на
выходе сумматора 8, в Т-систему (Т s) , причем Т-цифры оказываются закодированными
S-цифрами. Можно считать , что сумматор 8 (а вместе с ним и умножитель 7) работает в Т-системе
счисления, но и поэтому работа преобразователя при переводе числа из системы с меньшим основанием в
20 ,... , к -
+ b,)-S + b, . (5) В формуле (5) уменьшаемое равно входному числу N, а вычитаемое равно числу R десйтков, содержащихся в чис-25 систему с большим основанием происходит аналогично описанному. Рассмотрим работу преобразователя четырехразрядного десятичного числа в таемое буквой М. Поскольку R-цифры. шестнадцатиричное и обратно.. В этом b b ,...,b являются также S-циф- зо
рами, запись числа М в S-системе счисления имеет вид ле N, умноженному на R. Таким образом, .R-цифра Ь равна числу R единиц, со-
держаш ихся в числе N. Обозначим вычислучае , , .В качестве
шестнадцатиричных цифр используются двухразрядные десятич;рые числа 00,- 01,..., 15. M.Jb,, . ,b .(6) Разрядность числа М в S-системе счисления на единицу меньше, чем разрядность исходного числа N, а цифры
числа М подаются на масштабирующие сумматоры 1 второй строки матрицы,
содержащей (k - 1) сумматор 1 в точности так же, как цифры числа N пода-
юуся элементы первой строки матрицы. Повторив - те же рассуждения для числа
М и второй строки матрицы, получают , что на выходе 5 последнего эле-
мента второй строки матрицы формируется R-цифра R-десятков, содержащихся
в числе N, а на выходе 4 элементов На выходах 4 элементов первой строки
матрицы появятся десятичные коды 02, 04, и 02Г На выходе 5 последнего
элемента первой строки матрицы пояг. вится десятичный код 03 шестнадцати- второй строки матрицы формируется S-представление числа R-сотен, содер-5о ричной цифры числа шестнадцатиричных жащихся в числе N и т.д. до последней единиц,, содержащихся в числе 3875,;;, строки матрицы. S-число, появившееся на выходе 4 единственного элемента последней строки матрицы, будет R-цифрой
и дальнейшего его преобразования 55 леднего элемента второй строки матрине требуется.Цы появится десятичный код 02. СоотТаким
образом, на .выходе 4 элемента 1 последней строки матрицы и на выходах 5 последних элементов всех Соответственно на выходах 4-элементов второй строки матрицы появятся десятичные
коды 01 и 05, на выходе 5, посветственно на выходе 4 элемента последней
строки матрицы появится десятичный код 00, на выходе 5 которого 24384 строк матрицы формируется R-представ- ление исходного числа, поданного на
преобразователь в S-системё счисления. При переводе (k + 1)-разрядного
числа L из R-системы счисления в S-npe- образователь работает следующим образом . На вход 10 подается логическая 1 (или О соответственно). При этом 0 константа, на которую производит ум ножение умножитель 7, равна R, a умножитель
7 и сумматор 8 работают в S-системе счисления/ Разбивка выходов сумматора 8 на
15 две группы по m является по существу переводом S-числа, появляющегося на
выходе сумматора 8, в Т-систему (Т s) , причем Т-цифры оказываются закодированными
S-цифрами. Можно считать , что сумматор 8 (а вместе с ним и умножитель 7) работает в Т-системе
счисления, но и поэтому работа преобразователя при переводе числа из системы с меньшим основанием в
20 Рассмотрим работу преобразователя четырехразрядного десятичного числа в
шестнадцатиричное и обратно.. В этом о 5 0 5 случае , , .В качестве
шестнадцатиричных цифр используются двухразрядные десятич;рые числа 00,- 01,..., 15. При переводе числа из десятичной системь счисления в шестнадцатиричную
на вход 10 подается логический О. При этом константа, на.которую производит
умножение умножитель 7, равна 10, а работать умножитель 7 и сумматор
8 будут в шестнадцатиричной системе счисления. Перевод десятичного числа, например
, 3875 р осуществляется следующим образом. На выходах 4 элементов первой строки
матрицы появятся десятичные коды 02, 04, и 02Г На выходе 5 последнего
элемента первой строки матрицы пояг. вится десятичный код 03 шестнадцати- единиц,, содержащихся в числе 3875,;;, Соответственно на выходах 4-элементов
второй строки матрицы появятся десятичные коды 01 и 05, на выходе 5, посЦы
появится десятичный код 02. Соответственно на выходе 4 элемента последней
строки матрицы появится десятичный код 00, на выходе 5 которого появится десятичный код 15. Десятичный код 00, появившийся на выходе 4 элемента последней строки матрицы,
соответствует числу шестнадцатиричных тысяч. Таким образом, получается шестнадцатиричное представление 3875,,„, 00 15 02 03 (7) При переводе числа из шестнадцатиричной
системы счисления в десятиричную на вход 10 подается логическая 1. При этом константа, на которую
производит умножение умножитель 7, равна 16, а работать Умножитель 7 и
сумматор 8 будут;в десятичной системе счисления. Перевод шестнадцатиричного числа, например До ЛХ .02. . ОЗ , - -- 16 ществляется следующим . На выходах 4 элементов первой строки матрицы появятся десятичные
Коды 01., 12 и 00, на выходе 5 последнего элемента первой строки матрицы появится десятичный код стоич-
ной цифры 35, На выходах 4 элементов второй строки матрицы появятся десятичные
коды 00 и 04, на выходе 5 пос леднего элемента второй строки матрицы появится десятичный йод стоичной
цифры 48, На выходе 4 и 5 элемента последней строки.матрицы появятся
десятичные коды 00 и 04. Таким образом SUMS Гоо044835:;оГ -Строка
Га Га Га Та Га Га Га Та Га I b Гь Гь Гь Ть ГьТь Гь .±....1-±-1 149 О 1 О О 1 О 1 О .1 О 1 О 1 1 1 1 1Заполнив всю таблицу, получают табличное задание системы функций. В.
эту таблицу входят все возможные наборы аргументов а а ,...,а. Рациональнее всего, но не обязательно , выполнять требуемое устрой-
с тво на основе ПЗУ, например, с организацией 9 - 8. Вторую половину объема ПЗУ отводят под устройство, которое работает при
переводе двоичных чисел в двоично- десятичные. В этом случае на вход 6
подается единица. Наиболее рационально объем ПЗУ используется,-если предварительно
преобразовать двоичное 5 При преобразовании двоично-десятичных чисел в двоичные S 10, R 2, m 4. Коэффициент умножения
умножителя 7 равен 10,- умножитель 7 и сумматор 8 работают в двоичной сис-
текг счисления. Для того, чтобы спроектировать масштабирующий сумматор 1,
необходимо задать систему логических функций в табличной форме. Обозначим
младший вход 3 а, а, а„, а. Аналогично обозначим вход, а,,, а, а и а, а вход 6 как а. Точно так же
обозначим выход 5 Ь, Ь - 4 Ь л и b b, иЬ а выход 4 Таблица, задающая эту систему функций, содержит 256 строк и .17 столбцов. В первых девяти столбцах
записываются значения аргументов а, а,..., а, в остальных восьми столб0
Цах - значения функ ций Ц, Ь,... ,Ьо,. Поскольку при переводе двоично-десятичных
чисел в двоичные на вход 6 корректирующего элемента 1 подается ноль, значение аргумента а в состав5
ляемой таблице всегда нулевое. Пронумеруем строки таблицы от О до 255. Рассматривая наборы переменных
и как четырехразрядные двоичные числа, находят вось0 ьшразрядное двоичное число, определяемое
по формуле ЪЪь Е.у ,,,, и запишем значения разрядов этого
числа в столбцах ,... ,Ьд в строке с двоичным номером . a e S, а, а , а, а 5 н 1/0 i 3e3s& 5 a«S S « Например, 149-я строка составляемой
таблицы выглядит следующим образом: число в двоично-восьмеричное, а затем
переводить его в двоично-десятичное. Сначала двоичное число разбивается
на триады, начиная с младшего разряда а затем каждая триада дополняется до
тетрады добавлением в нее нулевого старшего разряда. Это преобразование
осуществляется внешним монтажом входов 9. Таким образомj при преобразовании
двоично-восьмеричного числа в двоично-десятичное S 8,,R Ipj.m 1,
т.е. входы 2 и 3 и выходы 4,5 состоят из четырех двоичных разрядов. Коэффициент
умножения умножителя 7 равен 8, умножитель 7 и сумматор 8 работают в
десятичной системе счисления. Для проектирования масштабирующего сумматора составляют аналогичную таблицу.
Обозначают двоичные разряды 3 входов и а , начиная со старшего, как аза.,а. а двоичные разряды входа 2 как а.а а и а, двоичные разряды выхода 5 как да 4 и Ъ,, двоичные разряды выхо- как и b соответ.стренно Таблица имеет семнадцать столбцов
Заполнение таблицы прои сто строк изводят следуюпц1м образом. Нумеруют строки таблицы двухразрядными десятичными числами от 00 до I J I I l I l I J I KЬIJIi A 67 101 1001 1 101010101 Заполнив всю таблицу, получают табличное задание функций. На не вошедших
в таблицу наборах аргументов функции могут принимать произвольные зна-25 чения. Предлагаемое устройство может быть также реализовано на основе ПЗУ с организацией
, причем для его реализации требуется половина объема ПЗУ. .,Q Объединяя обе Составленные таблицы в одну, получают полную таблицу программирования
ПЗУ для работы в качестве масштабирующего сумматора в преобразователе целых чисел, предназначенном
для преобразования двоично- десятичных чисел в двоичные и двоичных в двоично-десятичные Формула изобретения Преобразователь позиционного кода
из одной системы счисления в другую, содержащий масштабирующие сумматоры,
соединенные в треугольную матрицу таким образом, что входы старшего разряда
первого масштабирующего сумматора и входы младшего разряда всех масштабирующих сумматоров первой строки
матрицы соединены с соответствующими разрядными входами преобразователя,
входы старших разрядов всех масштаби- сумматоров первой строки, кроме первого, соединены с выходами
младших разрядов соседнего старшего масштабирующего сумматора первой
строки, вход старшего разряда первого масштабирующего сумматора i-й строки 99. В первый столбец таблицы, соот- .ветствующий. а., во все строки заносится
единица. В следующие восемь столбцов таблицы заносится двоично-десятичный код номера строки. Для строки.
имеющей номер а I-1 разрядное число 1О находят двух 10 15 ь - tio 1-1
1О -ЧЮ Затем записывают в строку, имеющую
номер столбцы, соответствующие функциям, - двоично-десятичные коды цифр 0, и а. Например,
67-я строка этой таблицы выглядит следующим образом: 5
Q 5 0 Q 5 (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)-й строки и выходы младших разрядов последних масштабирующих
сумматоров всех строк являются разрядными выходами преобразователя, о тличающийся тем, что, с
целью расширения функциональных возможностей за счет обеспечения реверсивного
преобразования кода с любым основанием в код с любым другим основанием, в нем все масштабирующие
сумматоры содержат умножитель и сумматор , управляющие входы которых соединены
с входом выбора режима работы преобразователя, выход умножителя соединен с входом первого слагаемого
сумматора, вход второго слагаемого которого соединен с входом младшего
разряда масштабирующего сумматора, вход старшего разряда которого соединен
с входом умножителя, первая и вторая группы выходов сумматора являются
соответственно выходами старшего и младшего разрядов масштабирующего сумматора.