Главная > Прикладная теория цифровых автоматов
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

8.8. КОНТРОЛЬ ЛОГИЧЕСКИХ ОПЕРАЦИЙ

К логическим операциям относятся операции сдвига логического сложения и умножения.

Пусть задано число имеющее контрольный код

Обозначим код числа А, сдвинутый влево, через А (без циклического переноса) и через с циклическим переносом (при сдвиге вправо стрелка в обозначении будет повернута направо). Тогда

Таблица 8.1

контрольные коды можно обозначить соответственно:

Сдвиг влево на один разряд двоичного числа эквивалентен умножению его на два Так как при сдвиге числа происходит потеря некоторых его разрядов, то можно предполагать, что контрольный код сдвинутого числа изменится на величину Д:

где — сдвинутый влево контрольный код.

Величина зависит от значений которые при сдвиге выходят за пределы разрядной сетки. Выход старшей единицы за пределы разрядной сетки при сдвиге -разрядного числа эквивалентен вычитанию единиц из контрольного кода сдвинутого числа, где — вес разряда

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

Тогда можно записать

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

Вследствие этого значения поправок для выполнения левого сдвига по модулю (2 — 1) будут такими, как в табл. 8.1.

Значение поправки обычно заменяют ее дополнением по модулю

Для выполнения сдвига влево с циклическим переносом из старшего разряда в младший необходимо уменьшить контрольный код на величину Так как то этот член равен 0. Тогда можно записать

Пример. Задано Найти

Так как

При циклическом сдвиге . Тогда

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

При сдвиге вправо происходит потеря младших разрядов числа и его контрольного кода. Контрольный код сдвинутого вправо числа можно получить по формуле

только поправка Л будет при этом иной.

В случае простого сдвига поправка к контрольному коду зависит от модуля и для принимает следующие значения (табл. 8.2).

При модифицированном сдвиге вправо, который выполняется по правилу также происходит потеря младших разрядов кодовой комбинации числа и контрольного кода. Для этого случая контрольный код вычисляется по (8.13), но поправки для примут вид (табл. 8.3).

Пример. Задано Найти

Так как

Модифицированный сдвиг числа А:

При поправка Тогда

Таблица 8.2

Таблица 8.3

Таким образом, одним из способов реализации соответствия между основным и контрольным кодами при сдвиге вправо является коррекция контрольного кода в соответствии с приведенной выше табл. 8.3.

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

Операцию сложения по можно выразить через другие операции, например .

Это выражение можно представить иначе:

Тогда, используя переход от арифметических выражений к сравнениям, получим следующую формулу для образования контрольного кода:

где — контрольный код суммы двух чисел; — инверсия контрольного кода логического произведения двух чисел со сдвигом влево на один разряд.

Пример. Заданы Найти

Находим: Затем получим:

После этого определим и по формуле (8.13) получим

1
Оглавление
email@scask.ru