Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.06.2024
Просмотров: 139
Скачиваний: 0
- £3-
Дополнение |
т -значного |
числа А равно |
2 |
- / - А . |
|||
Неоо'ходшо |
выбрать |
М таким образом, чтобы код дополнения |
|||||
|
|
был равен |
дополнению кода 2 " - |
1-(АЛ+М ) , |
|||
где |
П - |
число |
знаков |
в коде. |
Таким образом, |
должно выпол |
|
няться |
равенство |
|
|
|
|
|
|
|
|
2 П- |
|
= |
|
|
откуда |
|
|
|
|
|
|
|
м ={[гп-/-А/(2т-/)].
Недостатками этих кодов является т о , что для кодирования и де кодирования необходимо выполнять соответственно операции умно жения и деления, правда, на сравнительно небольшие и заранее известные постоянные числа. Во втором случае добавляется еще операция сложения и вычитания. Кроме то го , эти коды несистема тические. В связи с этим применение этих кодов весьма ограниче но. Они применяются в некоторых случаях в арифметических устройствах последовательного действия.
§ 4 .3 . Коды с использованием наименьших вычетов
Наибольшее распространение в настоящее время получили методы контроля по модулю или контроля по наименьшим вычетам.
Из теории чисел известно, что для любого числа можно за писать тождество
А - R (A)mod^ , |
(4 .1 ) |
которое читается следующим образом: число А тождественно о остатком R f A ) от деления А на модуль .
Это тождество устанавливает следующее соответствие;
A = C j t +В(А),
- 64-
где А |
Ч • 1 ■R - |
целы е |
ч и с л а ; |
|
А - |
лю сю е |
п - р а з р я д н о е ч и с л о ; |
I |
- |
м о д у л ь , |
и л и д е л и т е л ь ; |
|
|
||||
|
- |
ч а с т н о е о т |
д е л е н и я н а |
|
Q - |
о с т а т о к |
о т |
д е л е н и я А н а Cj . |
Под остатком мы обычно будем понимать наименьший положитель
ный остаток |
(наименьший вычет числа |
А по модулю Q |
) . |
Если два целых числа А и В при |
делении на натуральное |
||
число ^ |
дают одинаковые остатки, |
то они называются |
сравни |
мыми по модулю |
. |
Сравнимость чисел |
записывается так; |
|
А = |
3 |
mod^ |
(4 ,2 ) |
|
|
или |
|
|
|
Р (А ) |
= |
U (B)m od^ |
(4 . |
3 ) |
Перечислим некоторые свойства сравнений.
I . Если А и В сравнимы по mod(J, , то их разность де лится на этот модуль без остатка,
т ,е . |
если |
A=Bmod^, , |
то R ( |
^ j modLj, -О |
|
2 . Сравнения обладают свойством симметричности, |
|||||
т .е . |
если |
А-Ьтос/д, , |
то £> =Ато |
|
|
3 . Сравнения обладают свойством транзитивности, |
|||||
т .е . |
если |
А-ВтоцО, |
и B -C nod(j, |
то А = С m od LL |
|
4. |
Сравнения по одному и тому же модулю можно почленно |
||||
складывать и вычитать, |
|
|
|
||
т .е . |
из |
и |
0 = /1modQ- |
следует, что |
|
|
|
А ± С = (' В 1 Л ) mod а |
|
|
65-
5. Слагаемое, стоящее в какой-либо части сравнения, мож но перенести в другуючасть, изменив знак на противоположный,
т.е. если A + B = C f n o d ^ , то А = ( С - В ) mod
6. К любой части сравнения можно прибавить число, кратное модулю, т.е. если
A = B m o d C J, |
, то |
А + KCj. = |
|
||
7. Обе части сравнения можно умножить на одно и то же |
|||||
число, т.е. если |
|
, то |
|
|
|
A = B m od(f, |
А К = В К т о о |
1 д , |
|||
8. Обе части сравнения можно возвести в одну и ту же сте |
|||||
пень, т.е. если A |
= bm od ^ . |
г то А |
= В |
m odcj, |
|
9. Сравнения по одному и тому же модулюможно почленно |
|||||
перемножить, т.е. если |
|
|
|
|
|
А = В m od^ |
и |
С = Д т о с ( д . |
, то |
А С = В Д m odcj, |
10. Обе части сравнения можно разделить на их общий дели тель, если последний взаимно прост с модулем (имеет с нимоб щийнаибольший делитель, равный единице),
т.е. если А С =BCm dcf к |
( С ,р ) = |
/ |
, то |
A |
^ B r n d ty |
11. Обе части сравнения и модуль можно разделить на любой |
|||||
их общий делитель, т.е. |
если |
|
|
|
|
А = Bmodcj и А - К А |
, В = К В ' |
и |
C j,= K (j\ |
то A '- B 'm o d ^ . |
|
12. Если сравнение имеет место по модулю |
Q |
, то оно |
имеет место и по модулю, |
равному любому делителюмодуля g , |
т.е. если A = B m o d g и |
= o #То А ^ В fHod К |
5.3т..0-7.
- 6 6 -
На основании перечисленных свойств сравнений можно полу чить важные для контроля арифметических операций тождества.
Пусть |
,A=R(A2)mod^ |
............. An*R(An)ntodfy , |
|
тогда на основании свойства(4) |
|
|
|
t ^ r t u M m o d q , |
|
<4' 4) |
|
Но, согласно выражению (4 .1 ), |
|
|
|
Ел, = |
<W |
|
< 4 ' 5 ) |
/*/ |
можно |
записать: |
|
Следовательно, на основании свойства 3 |
|||
£ R M , ) = R ( | a i ) m d $ |
(4 .6 ) |
||
|
|||
Аналогично можно получить тождество |
|
|
|
f l R ^ i ) |
= k (U A i)m o d g , |
(4 .7 ) |
|
ы |
14 |
|
|
Тождества (4 .6 ) и (4 .7 ) позволяют использовать наименьшие вычеты для контроля арифметических операций. Например, душ конт роле правильности сложения чисел А и В необходимо до выполнения операции над числами получить вычеты этих чисел Р (А ) и R ( Б ) ,
одновременно с выполнением сложения чисел сложить на отдельном суъвШоре эти вычеты, получить вычет суммы чисел и сравнить вычет cJ'MMbi чисел с суммой вычетов слагаемых. Несовпадение ука-
хе$ йа наличие ошибки.
Аналогично выполняется, с использованием тождества (4 .7 ),
контроль операции умножения. Операция вычитания, выполняемая как операция сложения обратных или дополнительных кодов, конт ролируется как сложение с использованием вычетов соответственно обратных или дополнительных кодов исходных чисел. Операция де ления контролируется через умножение и сложение.
- 6 7 -
Тахт образом, при контроле по наименьшим вычетам имеет
ся возможность отдельно выполнять операции над контрольной частью кода и результаты сравнивать с контрольной частью резуль тата выполнения операции над числами.
Каждая кодовая комбинация в этом случае, очевидно, должна
состоять из кода числа и контрольной части, представляющей наименьший вычет кода числа.
Контрольную часть в дальнейшем мы будем называть контроль ным кодом, а контроль по наименьшим вычетам - контролем по мо дулю .
В практике используют два вица контроля по модулю: число
вой контроль и цифровой контроль. В первом случае контрольным
кодом является |
остаток Я (А ) от деления самого числа А на |
модуль ^ . |
В этом случае при контроле арифметических опера |
ций нет необходимости учитывать переносы. Во втором случае кон
трольным кодом является остаток |
/ ? ( £ ai ) |
от деления |
|
1=0 |
|
суш и цифр числа А на мод |
. Ь частности, цифровой конт |
|
роль двоичных чисел по |
сводится, по |
существу, к конт- |
ролю на четность. |
|
|
При цифровом контроле по наименьшим вычетам при получении результирующего вычета необходимо учитывать переносы. Для по лучения вычета числа необходимо делить это число на модуль,
вычет же суммы цифр числа можно получить более простыми спосо бами.
Ниже будет показано, что при определенном выборе модуля можно, сохранив преимущество числового контроля (Отсутствие необходимости учитывать переносы) свести задачу получения вы чета к нахождению вычета суммы цифр числа как при цифровом контроле.
-68-
§4 .4 . Нахождение вычетов и выбор модуля
Для нахождения вычета числа по mod (J, в общем олучае
необходимо выполнить деление числа на этот модуль. Однако, так как операция деления занимает достаточно большое время, целе сообразно найти способ получения вычетов без выполнения деле ния. Покажем, что это возможно.
Любое тх -разрядное число с основанием системы счисления можно представить в вице:
Р
А = ап-хрП 1+ °п-грп V . . + a / + o / = Z a , / > |
(4-8) |
||||||||
Рассмотрим три случая: модуль больше основания системы, |
|||||||||
модуль меньше основания |
системы |
и модуль равен основанию. |
|
||||||
I . |
Пусть |
Q >р . |
|
|
|
|
|
|
|
Тогда можно записать P ~ $ ~ f |
» |
где |
- |
положительное |
|||||
число, |
определяемое величиной |
. |
Подставив |
значение |
|
||||
в выражение (4 .8 ), получим |
|
|
|
|
|
|
|||
|
|
А = |
|
|
|
|
|
|
(4-9) |
Запишем бином |
С |
в ввде |
РОД8 |
|
|
|
|
||
Из рассмотрения разложения бинома видно, что в образовании |
|||||||||
остатка |
от деления этого |
бинома на модуль |
^ |
принимает учас |
|||||
тие только последний член ряда, |
у которого |
i= j |
. Остальные |
||||||
члены ряда остаток не образуют, |
так как в |
них |
^ |
входит |
со |
множителем. Следовательно, вычет числа А можно определить по тождеству: