![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 37383940414243 ... 101 Для организации разбиения на группы надо отдельно рассмотреть два случая: л;>з и U<3. Для первого случая происходит разбиение на р-группы и д-группы. р-группа всегда слева заканчивается комбинацией (О, 1), а -группа -комбинацией (1, 0). Во втором случае происходит разбиение слагаемых на р-группы и о"-группы. -группа всегда слева заканчивается комбинацией (1,0), а "-группа - комбинацией (О, 1). Правила операций для р-групп и р--групп совпадают с правилом для р-групп, а для 9-групп и "-групп - с правилом для -групп. Пример 2.7. Найти модуль разности для чисел <х>2 = = 0.11010111010 и <j;>3 = 0,01111100110. Так как в этом случае А:> у, то производим разбиение разрядов-"слагаейых на р-группы и -группы 11010111010 0 111110 0 110 Отсюда {\ х-у\)2 = 0,01011010100. Пример 2.8. Найти модуль разности .для чисел (х),- = 0,10111000001 и <j;>2 = 0,11000101001. Так как в этом случае I л; К то производим разбиение разрядов слагаемых на р"-группы и -группы 10111000001 110 0 0 10 10 0 1 ХЭтсюда < I х-у 1)2 = 0,00001101000. При реализации операции нахождения модуля" разности двух положительных чисел необходимо определить, какой из двух случаев имеет место. Для этого надо сравнить между собой модули чисел X Vi у. Эта операция может быть реализована в вычислительной машине как поразрядная логическая операция сравнения с некоторым добавлением. После организации сравнения по модулю (см. пример 2.3) выделим в полученном числе самый левый разряд, в котором находится единица. Этаединица соответствует самому старшему разряду, в которых сравниваемые по модулю числа не совпали. Если теперь выделить в сравниваемых числах с "помощью операции логического умножения .цифры, стоящие в этом разряде, то число, для которого эта цифра равна единице, будет большим по модулю. Перейдем теперь к реализации последней операции - определению знака результата алгебраического сложения. Для этого введем вспомогательные двоичные функции fi, v, ij: 0, если требуется найти сумму <л:>2 и {y)2i 1, если требуется найти разность <л;)2 и <у>2; 0, если требуется арифметическое сложение 1 и \уу, 1, если требуется определение модуля разности модулей х vty; О, если ..л;> к1;. .1, если \ х\<\у\. . • • Значения V определяются следующей таблицей:
Знак результата определяется следующей таблицей:
с помощью этих таблиц полностью решается проблема присвоения знака результата операции алгебраического сложения. Последовательность действий при алгебраическом суммировании в прямом коде имеет следующий вид. , 1. Определение значения v по комбинации содержимого знаковых разрядов слагаемых и заданной операции. 2. Сравнение модулей и получение значения »;. • 3. Проведение соответствующей операции (арифметического сложения или получение модуля разности модулей). «4. Определение знака результата. Пример 2.9. Для (х)2 = 0,110101100010010 и <j;>3 = 0,111110010001110 . • найти их разность. Для определения v исследуем комбинацию содержимого знаковых разрядов слагаемых и заданной операции. В нашем случае эта комбинация" есть (О, О, 1). Определяем по вышеприведенной таблице v=l. Отсюда следует, что необходимо искать модуль разности модулей исходных чисел. Для нахождения значения ij производим операцию сравнения по модулю исходных чисел. Для получения модулей предварительно производим логическое умножение заданных кодов на число 0.11...1 - , л 0.110101100010010 л 0.111110010001110 - 0.111111111111111 /\0.111111111111111 . 0.110101100010010 0.111110010001110 Далее осуществляем операцию сравнения модулей ; 0.110101100010010 . + 0.111110010001110 . • - 0.001011110011100 Старший несовпзвший разряд подчеркнут. Так как в этом разряде мы имеем комбинацию (0,1),. то имеет место случай х К < V. Производим разбиение на /)*-группы:и-9"-груп.пЫ
Модуль результата < л; - j; >2 = 0,001000101111100. Для определения знака результата рассмотрим комбинацию. знака первого слагаемого и значений v и ij. В нашем случае эта комбинаций имеет вид (О, 1, I). Поэтому на основании вышеприведенной таблицы получаем окончательно <л; - = -0,001000101111100. § 2.2 Умножение в двоичной системе Перейдем теперь к операции умножения в двоичной системе каноническоготипа. Для двоичной системы схема умножения, показанная на рис. 1.9, упрощается, так как никакого специального устройства типа УО для этой системы не требуется. Связано это с исключительной простотой операции умножения в одном разряде. Правила для этой операции имеют вид: 0X0 = 0, 0X1=0, 1X1 = 1. Таким образом, дЛя двоичной системы счисления никакой специфической операции умножения нет, и эта операция заменяется серией сдвигов и суммирований. Схема умножения показана на рис. 2.1. Кружком на этой схеме обозначен вентиль, который пропускает множимое Сддиг
в сумматор только в том случае, когда на его второй вход поступает единица. Если очередная цифра множителя есть нуль, то вентиль закрыт и на сумматор ничего не передается (к его содержимому прибавляется нуль). Умножение происходит в прямом коде. Для определения знака произведения используется операция А над содержимым знаковых разрядов со- 0 ... 37383940414243 ... 101 |