НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 14151617181920 ... 101


, : [-0], = (5-l).(5-l)(5-l)...(5-l)

[-.0J„ = (5 - 1). (5 - 1) (5 - 1)... (5 - 1) •

6. Одно из суммируемых чисел не нуль, а второе-нуль. Здесь необходимо также рассмотреть различные подслучаи в зависимости от того, какой нуль прибавляется к данному числу.

[+0], = 0 .0 0...0

[x\ - X.XiX2...X,j

[-0], = (5-1).(5-1) (5-1)...(5-1)

I . t

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

ИоШ[-Ч = ш(5---5-") =

= х + 5-х-5-" = 5-5-" = [-0]„. .

Теорема полностью доказана.

Пример 1.20. Проиллюстрируем теорему о сложении в обратном коде на примере канонической смещенной системы с основанием -6.

. 1. < л; >б = +0,0253 . • "

- <3>6= +0,1145

М„ = 0.0253 <х+д;>е=+0,1442

[>;]„ = 0.1145

, + >]„ = 0.1442

ш



2. < X >б = -Ь 0,0253

<J>6 =-0,1145

М„ = 0.0253 И Ы„ = 5.4410

[х+А = 5-5103 < X + з; >б =-0,0452

3. • <х>6 = -0,0253

<J>6= +0.1145

Ц„ = 5.5302 . . .

Ыо-0-П45

1 0.0451 I t

[+4 = 0-0452 <х+3>6 = +0,0452

4. . . < X >б = -0,0253

<3>6=-0,1145 . .

Ш М„ = 5.5302

Ыо = 5.4410

1 5.4112 I t

: = 5.4113 <.х+з;>е=-0,1442.

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

Рассмотрим теперь проблему обнаружения переполнения при суммировании кодов чисел. Явление переполнения при естественной форме представления может возникнуть при суммировании чисел одного знака. Если основание системы счисления больше трех, то обнаружение переполнения не представляет большого труда. При сложении двух положи-тeлJt>ныx чисел при наличии переполнения в знаковом разряде результата вместо нуля возникает цифра единица. Если же переполнение происходит при сум-



мированйи двух отрицательных чисел, то в случае . дополнительного кода мы получаем

[4,@\yl-2S-{\x\ + \y\) = S-i\x\ + \y\).

И так как 1-1 + > 1, то 5--hlylXS-l, и в знаковом разряде результата стоит не 5-1, а 5 - 2.

Единственная трудность связана со случаем, когда \х\ + \у\ = 1. В этом случае 5-+ j;) = 5-1, и содержимое знакового разряда не указывает на переполнение. Поэтому при работе с дополнительным тсодом при обнаружении в знаковом разряде цифры -5-1 необходимо еще проверить содержимое числовых разрядов. Если в числовых разрядах стоят только нули, то имеет место переполнение при суммирова-

* НИИ.

Для обратного кода . ". ,

- И„ЩЫ„ = 25-(х + з;)-25~« =

=5-(x + j;)-5"«-5-(xL+ \y\ + S~%

•Так как х + у + 5~" > 1, то в знаковом разряде результата вместо 5-1 стоит 5 - 2. Если 5 > 3, то

" 5~2>1, и по анализу результата, стоящего в знаковом разряде суммы, можно определить наличие переполнения при суммировании. При обнаружении переполнения можно скорректировать результат. Для этого необходимо сдвинуть результатна один разряд вправо. При этом сдвиге крайний правый разряд суммы исчезает, так как в разрядной сетке машины для него нет места. Сдвиг вызывает необходимость увеличения масштаба результата в 5 раз (или увеличение порядка масштаба на единицу). Человек, решающий задачу на машине с естественной формой представления чисел, должен учесть это изменение масштаба при дальнейших расчетах. Для возможности этого при наличии переполнения машина обычно прекращает вычисления и выдает сигнал прекращения вычислений по переполнению, В соответствии с этим сигналом человек изменяет масштаб результата и включает машину на продолжение расчетов.

Если до сдвига в знаковом разряде стояла единица, то после сдвига число скорректировано. Если же до сдвига в знаковом разряде стояла цифра 5 - 2,



0 ... 14151617181920 ... 101