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

Номер патента: 1302438

Автор: Лебедев

ZIP архив

Текст

(51) М 71 ОПИСАНИЕ ИЗОБРЕТЕН СТВУ А ВТОРСКОМУ СВИ младшег 1 ил.Мав ОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИИ(71) Смоленское специальное конструкторско-технологическое бюро системпрограммного управления(56) Авторское свидетельство СССРВ 317061, кл. Н 03 М 7/28, 1969,Авторское свидетельство СССРУ 587469, кл. Н 03 М 7/18, 1972.(54) ПРЕОБРАЗОВАТЕЛЬ ПОЗИЦИОННОГО КОДА ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ(57) Изобретение относится к областивычислительной техники и может бытьиспользовано при построении преобразователей кодов чисел из одной системы счисления в другую. Целью изобретения является расширение функциональных возможностей за счет обеспечения реверсивного преобразования ко;да с любым основанием в код с другимоснованием. Поставленная цель достигается тем, что в преобразователе позиционного кода из одной системысчисления в другую, содержащем масштабирующие сумматоры 1соединенные втреугольную матрицу, каждый масшта"бирующий сумматор содержит умножитель7 и сумматор 8, первый вход которогосоединен с выходом умножится, а второй - с выходом соседнего омасштабирующего сумматора.13Изобретение относится к вычислительной технике и может быть использовано при построении преобразователей кодов целых чисел из одной системы счисления в другую.Целью изобретения является расширение функциональных возможностейпреобразователя за счет обеспеченияреверсивного преобразования кода содним основанием в код с другим основанием.На чертеже приведена структурнаясхема четырехразрядного преобразователя.Преобразователь содержит масштаби"рующие сумматоры 1, соединенные втреугольную матрицу, каждый из которых имеет вход 2 старшего разряда,вход 3 младшего разряда, выход 4старшего разряда и выход 5 младшегоразряда, управляющий вход б и содержит умножительи сумматор 8, Крометого, преобразователь имеет разрядныевходы 9, выход 10 выбора режима работы и выходы 11.Если необходимо подчеркнуть употребление числа в качестве цифры исГ пользуется знак, (например, 10 цифра шестнадцатиричной или какой-ли-.бо другой системы счисления, Если необходимо подчеркнуть в какой системесчисления записано число, записьчисла индексируется основанием системы счисления, заключенным в скобки (например, 10 12 оь- число, записанное в шестнадцатиричной системесчисления.Пусть преобразователь предназначен для преобразования целых чисел изсистемы счисления с основанием Б всистему счисления с основанием К иобратно из К-системы в 3. Положимдля определенности, что Б ( К. Дляпредставления Б-цифры в К-системесчисления достаточно одной соответствующей К-цифры,Количество входов 2 равно количеству входов 3, равно количеству выходов 4 и количеству выходов 5 масштабирующего сумматора 1 и равно ш, количество выходов сумматора 8 равносоответственно 2 ш, При преобразованиичисла из Б-системы счисления в К навходы 9 подаются не Б-цифры, а Б-кодысоответствующих им цифр, Например,если 3 = 10, К = 1 б, то ш = 2 шестг- Г фнадцатиричным цифрам О, 1 , Д,соответствуют те же самые стоичныецифры, которые в свою очередь кодиру 02438 2ются двумя десятичными цифрами, т.е.г,15 об 15 (знак заменяет словосоответствует), а при переводе деся тичного числа в шестнадцатиричное навходы 9 подаются не десятичные цифры0,19, а пары десятичных цифр 00,0102 ф 109При переводе Ь + 1)-разрядногочисла М из Б-системы счисления в Кпреобразователь работает следующим.образом.На вход 10 управления подается логический "0" (или "1"). При этом константа, на которую производит умножение умножитель 7, равна Б, умножитель7 и сумматор 8 работают в К-системесчисления, но результаты на их выхо. дах появляются в виде 3-кодов К-цифр.Обозначим 3-цифры входного числа Вкак а, а а , (где а - старк- д кшая цифра; а,. - младпая), тогдаКК И = аЯ + а,Б а, = 25 =(а Б+ а,) Б+ а )Б+++ аБ + а,). (1)На входе 2 первого масштабирующегосумматора 1 первой строки матрицыпоступает число а , на вход 3 этогокфсумматора 1 поступает число а , нак- фвыходах 4 и 5 которого появляетсячисло (аБ + а , ), представленноев К-системе счисления двумя Б-кодамиК-цифр. При этом старшая К-цифра чис ла (а Б + а, ) появляется на выходе4, а младшая К-цифра - на выходе 5этого сумматора 1.Обозначим старшую и младшую К-цифры числа (а.Б + а) первого элемента первой строки матрицы как Ь иФйЬ, тогдаЬ= аБ+ а - Ъ К. (2)Поскольку БК К-цифра Ъ будет 45также Б-цифрой, а К-цифра Ь можета Фбыть, а может и не быть Б-цифрой,На вход 2 второго сумматора 1 первой строки матрицы поступает числоЬ, а на вход 3 этого сумматора 1число а . На выходах 4 и 5 сумматок-я :ра .1 появляется число (Ь" Б + а .).Причем старшая цифра появляется на выходе 4 а младшая - на выходе 5. Обоз 1начим старшую цифру числа (Ъ Я + а ) 55к к как Ь младшую как Ь, .1Точно также на выходе 4 произвольного 1-го (где 26 Ц масштабирующего сумматора 1 первой строки матри3 1302 цы появляется К-цифра Ь, , которая является также Б-цифрой, а на выходе 5 этого сумматора 1 появляется К-цифра, Которая определяется равенством(3) На выходе 5 последнего Е-го сумматора 1 первой строки матрицы появится К-цифра, которая определяется выраже 10 нием1(.Ь=Ь Б+а - Ь, К, (1 ) где Ь, - К-цифра, появившаяся на выходе 4 этого К-го сумматора 1 первой строки матрицы илиЬ, =(а Б + )Б +(5)В формуле (5) уменьшаемое равно входному числу И, а вычитаемое равно числу К десятков, содержащихся в чис ле И, умноженному на К. Таким образом, , К-цифра Ь равна числу К единиц, со%держащихся в числе И, Обозначим вычитаемое буквой М. Поскольку К-цифры Ь ,Ь ,Ь являются также Б-циф рами, запись числа М в Б-системе счисления имеет вид(б)Разрядность числа М в Б-системе35 счисления на единицу меньше, чем разрядность исходного числа И, а цифры числа М подаются на масштабирующие сумматоры 1 второй строки матрицы, содержащей (к - 1) сумматор 1 в точ ности так же, как цифры числа И подаются элементы первой строки матрицы. Повторив - те же рассуждения для числа М и второй строки матрицы, получают, что на выходе 5 последнего эле мента второй строки матрицы формируется К-цифра К-десятков, содержащихся в числе И, а на выходе 4 элементов второй строки матрицы формируется Б-представление числа К-сотен, содержащихся в числе И и т.д. до последней строки матрицы. Б-число, появившееся на выходе 4 единственного элемента последней строки матрицы, будет К-цифрой и дальнейшего его преобразования не требуется.Таким образом, на выходе 4 элемента 1 последней строки матрицы и на выходах 5 последних элементов всех 438 4строк матрицы формируется К-представление исходного числа, поданного на преобразователь в Б-системе счисления.При переводе Ь + 1).-разрядного числа Еиз К-системы счисления в Я-преобразователь работает следующим образом.На вход 10 подается логическая "1" (или "0" соответственно). При этом константа, на которую производит умножение умножитель 7, равна К, а умножитель 7 и сумматор 8 работают в Б-системе счисления:1Разбивка выходов сумматора 8 на две группы по ш является но существу переводом Я-числа, появляющегося на выходе сумматора 8, в Т-систему (Т = = Б ), причем Т-цифры оказываются закодированными Я-цифрами. Можно считать, что сумматор 8 (а вместе с ним и умножитель 7) работаетв Т-системе счисления, но Т ) К и поэтому работа преобразователя при переводе числа из системы с меньшим основанием в систему с большим основанием происходит аналогично описанному.Рассмотрим работу преобразователя четырехразрядного десятичного числа в шестнадцатиричное и обратно В этом случае Б = 10, К = 16, ш = 2. В качестве шестнадцатиричных цифр используются двухразрядные десятичные числа 00, 0115.При переводе числа из десятичной системы счисления в шестнадцатиричную на вход 10 подается логический "О.". При этом константа, на которую производит умножение умножитель 7, равна 10, а работать умножитель 7 и сумма-тор 8 будут в шестнадцатиричной системе счисления.Перевод десятичного числа, например, 3875 осуществляется следующим образом.На выходах 4 элементов первой строки матрицы появятся деСятичные коды 02, 04, и 02. На выходе 5 последнего элемента первой строки матрицы поя- вится десятичный код 03,шестнадцати- ричной цифры числа шестнадцатиричных единиц содержащихся в числе 3875,6 . Соответственно на выходах 4 элементов второй строки матрицы появятсц десятичные коды 01 и 05, на выходе 5, последнего элемента второй строки матрицы появится десятичный код 02. Соответственно на выходе 4 элемента последней строки матрицы появится десятичный код 00, на выходе 5 которого5 13024 появится десятичный код 15. Десятичный код 00, появившийся на выходе 4 элемента последней строки матрицы, соответствует числу шестнадцатиричных тысяч. Таким образом, получается шестнадцатиричное представление 35 Строка а а а а а а а а а Ъ Ь Ь Ь Ь Ь Ь Ь,149 О 1 0 0 1 0 1 О 1 0 1 0 1 1 1 1 1 число в двоично-восьмеричное, а затем переводить его в двоично-десятичное.Сначала двоичное число разбивается на триады, начиная с младшего разряда,. а затем каждая триада дополняется до тетрады добавлением в нее нулевого старшего разряда. Это преобразование осуществляется внешним монтажом входов 9.Таким образом; при преобразовании двоично-восьмеричного числа в двоично-десятичное 8 = 8, К = 10,.ш щ 1, т.е. входы 2 и 3 и выходы 4,5 состоят из четырех двоичных разрядов. Коэффициент умножения умножителя 7 равен 8,5055 3875 = 00 15 02 03 . (7)(10 с.д 1 з с с с зПри переводе числа из шестнадцатиричной системы счисления в десятиричную на вход 10 подается логическая "1"При этом константа, на которую производит умножение умножитель 7, равна 16, а работатьУмножитель 7 и сумматор 8 будут, в десятичной системе счисления.Перевод шестнадцатиричного числа, например 10 15 02 03 осуществляется следующим образом. На выходах 4 элементов первойстроки матрицы появятся десятичныекоды 01, 12 и 00, на выходе 5 последнего элемента первой строки матрицы появится десятичный код стоичной цифры 35, На выходах 4 элементоввторой строки матрицы появятся десятичные коды 00 и 04, на выходе 5 пос-,леднего элемента второй строки матрицы появится десятичный код стоичной30цифры 48, На выходе 4 и 5 элементапоследней строки, матрицы появятсядесятичные коды 00 и 04. Таким образом10 15 02 03 = 00 04 8 ;Я,00044835 с 1 о Заполнив всю таблицу, получают табличное задание системы функций. В, эту таблицу входят все возможные наборы аргументов а а а7 бРациональнее всего, но не обязательно, выполнять требуемое устройство на основе ПЗУ, например, с организацией 9 у 8.Вторую половину объема ПЗУ отводят под устройство, которое работает при переводе двоичных чисел в двоичнодесятичные. В этом случае на вход 6 подается единица. Наиболее рационально объем ПЗУ используется,.если предварительно преобразовать двоичное 38 6При преобразовании двоично-десятичных чисел в двоичные Б = 10, К = = 2, ш = 4. Коэффициент умножения умножителя 7 равен 10, умножитель 7 и сумматор 8 работают в двоичной системе счисления. Для того, чтобы спро.Р сектировать масштабирующий сумматор 1, необходимо задать систему логических функций в табличной форме, Обозначим младший вход 3 а а а , а . Аналогично обозначим вход 2 а 4 аб ав и а, а вход 6 как а . Точно так же обозначим выход 5 Ь , Ъ;, Ь и Ъ а в од 4 - Ь 4 Ь Ь иЬТаблица, задающая эту систему Функций, содержит 256 строк и ,17 столбцов. Впервых девяти столбцах записываются значения аргументов а, а а , в остальных восьми столбовацах - значения функций Ь ЬЬО. Поскольку при переводе двоично-десятичных чисел в двоичные на вход 6 корректирующего элемента 1 подается ноль, значение аргумента а в составляемой таблице всегда нулевое. Пронумеруем строки таблицы от 0 до 255. Рассматривая наборы переменных аа а а и а а а а. как четырехраз 6 5 4 3 й 1 орядные двоичйые числа, находят восьмиразрядное двоичное число, определяемое по формулеа,а а а 1010 + а а,а Я и запишем значения разрядов этого числа в столбцах Ь Ь Ь, в строке с двоичным номером аа а, а а, а,а, а Например, 149-я строка составляемой таблицы выглядит следующим образом:7 1302438 8 а 67 1 О 1 1 О О 1 1 1 О 1 О 1 О 1 О 1 умножитель 7 и сумматор 8 работают в десятичной системе счисления. Для проектирования масштабирующего сумматора составляют аналогичную таблицу. Обозначают двоичные разряды 3 входов как аза а. и а , начиная со старшего,3 й 1 офа двоичные разряды входа 2 как а а а.ьь и а , двоичные разряды выхода 5 как ЪЬЬ, и Ъ 0, а двоичные разряды выхода 4 как Ъ Ь Ъ и Ь соответственно.1 О7 б Б 4Таблица имеет семнадцать столбцов и сто строк, Заполнение таблицы производят следующим образом.Нумеруют строки таблицы двухразрядными десятичными числами от 00 до 15 Строка а а а а а а а а Заполнив всю таблицу, получают табличное задание функций. На не вошедших в таблицу наборах аргументов функции могут принимать произвольные эна - 25 чения.Предлагаемое устройство может быть также реализовано на основе ПЗУ с организацией 9 " 8, причем для его реализации требуется половина объема ПЗУ. Объединяя обе Составленные таблицы в одну, получают полную таблицу программирования ПЗУ для работы в качестве масштабирующего сумматора в преобразователе целых чисел, предназначенном для преобразования двоичнодесятичных чисел в двоичные и двоичных в двоично-десятичные. 40формула изобретения Преобразователь позиционного кода из одной системы счисления в другую, содержащий масштабирующие сумматоры, соединенные в треугольную матрицу таким образом, что входы старшего разряда первого масштабирующего сумматора и входы младшего разряда всех масштабирующих сумматоров первой строки матрицы соединены с соответствующими разрядными входами преобразователя, входы старших разрядов всех масштабирующих сумматоров первой строки, кроме первого, соединены с выходамИ младших разрядов соседнего старшего масштабирующего сумматора первой строки, вход старшего разряда первого масштабирующего сумматора -й строки 99. В первый столбец таблицы, соответствующий.а во все строки заносится единица. В следующие восемь столбцов таблицы заносится двоично-десятичный код номера строки. Для строки,11 ГЧимеющей номер а Ь находят двух-дс 1 оразрядное число-с ю с 1 о) с 1 о-д с 1 Затем записывают в строку, имеющуюг гномер а Ь, в столбцы, соответствующие функциям, - двоично-десятичные коды цифр С , и Й . Например,л О в-д с 10)67-я строка этой таблицы выглядит следующим образом:(1 = 2 - Е - 1, где Е - число разрядов входного кода) соединен с выходомстаршего разряда масштабирующего сумматора ( - 1)-й строки, вход младшего разряда. 1-го масштабирующегосумматора 1-й строки ( = 1 - Е - )соединен с выходом старшего разряда( - 1)-й строки, вход старшего разряд,а Ц + 1)-го масштабирующего сумматора -й строки соединен с выходоммладшего разряда 3-го масштабирующего сумматора -й строки, выход стар-.шего разряда масштабирующего сумматора Ь - 1)-й строки и выходы младшихразрядов последних масштабирующихсумматоров всех строк являются разрядными выходами преобразователя,о т л и ч а ю щ и й с я тем, что, сцелью расширения функциональных возможностей за счет обеспечения реверсивного преобразования "кода с любым основанием в код с любым другимоснованием, в нем все масштабирующиесумматоры содержат умножитель и сумматор, управляющие входы которых соединены с входом выбора режима работыпреобразователя, выход умножителясоединен с входом первого слагаемогосумматора, вход второго слагаемогокоторого соединен с входом младшегоразряда масштабирующего сумматора,вход старшего разряда которого соединен с входом умножителя, первая ивторая группы выходов сумматора явля. -ются соответственно выходами старшего и младшего разрядов масштабирующего сумматора.

Смотреть

Заявка

4006195, 07.01.1986

СМОЛЕНСКОЕ СПЕЦИАЛЬНОЕ КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКОЕ БЮРО СИСТЕМ ПРОГРАММНОГО УПРАВЛЕНИЯ

ЛЕБЕДЕВ СЕРГЕЙ АЛЕКСАНДРОВИЧ

МПК / Метки

МПК: H03M 7/12

Метки: другую, кода, одной, позиционного, системы, счисления

Опубликовано: 07.04.1987

Код ссылки

<a href="https://patents.su/5-1302438-preobrazovatel-pozicionnogo-koda-iz-odnojj-sistemy-schisleniya-v-druguyu.html" target="_blank" rel="follow" title="База патентов СССР">Преобразователь позиционного кода из одной системы счисления в другую</a>

Похожие патенты