![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 81828384858687 ... 101 Здесь. . • Лд = 0,0000000009 . • • Описанный способ перевода из десятичной системы счисления в двоичную в отличие от универсального алгоритма перевода, описанного нами в § 1.1, не требует производства операции деления и занимает значительно меньше машинного времени по сравнению с универсальным алгоритмомперевода. Можно несколько изменить предлагаемый алгоритм, который является не слишком удобным при создании схемной реализации переводящего устройства. Пусть число X задано в двоично-десятичном коде прямого замещения. Применим к этой записи соотношение (1.1), учитывая, что каждый десятичный разряд теперь соответствует четверке двоичных разрядов. Применение соотношения (1.1) сводится к последовательному умножению тетрад на 10 и суммированию получаемых произведений. Умножается на 10 тетрада (четырехразрядное число), стоящая в записи двоично-десятичного числа. Результат умножения прибавляется к соседней справа тетраде. Полученная сумма умножается на 10 и при-» бавляется к тетраде, стоящей в третьем по старшинству разряде, и т. д. Умножение на 10 в двоичной системе может быть заменено умножением на 4 (сдвиг числа на два разряда влево), суммированием 4л; и х и умножением полученной суммы на 2 (сдвиг на один разряд влево). Пример 5.7. Перевести число (a;)io = 2075 в двоичную систему описанным способом. Переходим к двоично-десятичной записи числа х (Ало =0010 ОООО 0111 0101. Теперь последовательно применяем вышеописанный алгоритм. , 0010 . 001000 умножение на 4 001010 , 0010100 умножение на 2 + ОООО , 0010100 001010000 . умножение на 4 001100100 , 0011001000 умножение на 2 + 0111 , 0011001111 """001100111100 умножение на 4 010000001011 0100000010110 умножение на 2 0101 0100000011011 Окончательный ответ (л;)2 == 100000011011. Описанный метод позволяет избежать операции деления при переводе целых чисел и упрощает операцию умножения за счет сведения ее к серии сдвигов и суммированию. . Задачи 1. Нарисовать схему умножения по методу кратных по аналогии сосхемой, показанной на рис. 5.1, если, имеется две схемы умножения на два и одна схема умножения на пять. Выполнить по этой схеме умножение числа (x)io = 42 на число (y)io - 73. 2. Разделить в коде прямого замещения число <л:),о = 52 на число < y>to = 16, учитывая, что умножение происходит по методу кратных 1, 2, 4, 8. , . § 5.4. Другие двоично-десятичные коды Несмотря на некоторые преимущества, код прямого замещения имеет ряд недостатков, связанных с довольно сложной логикой операции вычитания. Поэтому во многих вычислительных машинах использовались другие весомозначные двоично-десятичные коды. Естественно, что такие коды, как коды из табл. 5.2 или табл. 5.3,- оказывались более удобными для использования в Машинах из-за того, что они обладали свойством дополнительности. Практически использовались в серийных машинах коды 2421, 5121 и коды с избытком 3 и избытком 6. . В настоящем параграфе мы рассмотрим основные особенности операций в таких кодах и обсудим вопрос о двоично-десятичных кодах, в которых десятичные цифры кодируются более чем в четырех десятичных разрядах. Рассмотрение кодов начнем с кодов Эмери (2421 и 4221). С точки зрения введения поправок при операции суммирования коды 2421 и 4221 не идентичны и, как будет показано ниже, более простым кодом следует считать код 2421. Обозначим через а{х) тетраду, сопоставляемую в данном коде десятичной цифре х. Тогда для кода 2421 имеем следующее условие X, если л;<5; . + 6, если х>5. а{х) = Для кодов 4221 и 5121 аналогичные соотношения выглядят следующим образом а(л:) = X , если л;<3 х + 2, если х = 4 л; + 4, если л: = 5 л; + 6, если х>5. а{х)=- X , если хО; л; -1- 3, если х ~ 4,5; X + 6, если л; > 5. (5.14) (5.15) Из этих соотношений уже видно, что код 2421 имеет более простую логику при организации операции суммирования по сравнению с кодом 5121 и особенно по сравнению с кодом 4211. Для нахождения правил сложения для кода 2421 рассмотрим несколько случаев суммирования двух положительных чисел. 1. Оба слагаемых в данном разряде меньше пяти. В этом случае в коде 2421 результат будет равен х + Ук + к где г; -перенос из соседней младшей-тетрады. Если сумма < 5, то результат суммирования правильный. В противном слу.чае необходима поправка плюс шесть. 2. Одно слагаемое меньше пяти, а другое не меньше пяти. Сумма меньше 10. В этом случае в коде 2421 результат будет равен х+У/1 + + 6. Поправка не нужна. 0 ... 81828384858687 ... 101 |