Сложение отрицательных чисел или чисел с разными знаками

Если в сложении участвуют отрицательные числа или числа с разными знаками, то операции выполняются в модифицированном обратном или допол-

40

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

В табл. 2.3 представлены правила и примеры сложения.

Рассмотрим сложение двух чисел Л,и А2:

А, =+1101;

Л2 =-0101.

Произведем сложение чисел А, и А2 в обратном и дополнительном кодах. Полученные результаты переведем в прямой код и сравним их (таблица 2.3).

Таблица 2.3

Вид кода

Правило

Пример

Модифицированный

дополнительный

код

Сложение осуществляется по правилу двоичной арифметики. Единица переноса, возникающая в третьем знаковом разряде суммы, отбрасывается

Модифицированный обратный код

Сложение осуществляется по правилу двоичной арифметики. Единица переноса, возникающая в третьем знаковом разряде суммы, прибавляется к младшему разряду модуля, образуя циклический перенос

Таким образом, результаты совпали.

Умножение чисел

В общем случае процесс умножения сводится к отысканию частичных произведений (ЧП) с последующим их сложением.

Произведем умножение двух чисел А и В:

А = 10101 - множимое;

В = 101 - множитель;

Возможны несколько вариантов умножения в зависимости от знака сомножителей:

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

Чтобы понять принципы умножения, рассмотрим первые три варианта.

Вариант 1.

А>0; В>0

Произведем умножение двух чисел:

В табл. 2.4 приведен порядок действий при умножении.

Порядок действий

Вычисления

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

2. Умножение кодов чисел, начиная с анализа младшего разряда множителя Вп. Если разряд множителя В: содержит 1, то множимое А прибавляется к частичному произведению (до начала вычислений исходное ЧП, заполненное нулями, имеет разрядность, равную удвоенной разрядность сомножителей, включая знаковый разряд). После сложения осуществляется сдвиг нового ЧП на один разряд вправо. Если разряд множителя В: содержит 0, то производится лишь сдвиг ЧП на один разряд вправо.

3. Анализ всех разрядов В, включая знаковый.

Конечное значение ЧП получают в прямом коде. При этом необходимо помнить, что самый левый разряд - знаковый.

4. Получение результата.

Вариант 2. А>0; В

Произведем умножение двух чисел:

Умножения выполняется по формуле В табл. 2.5 приведен порядок действий при умножении.

Порядок действий

Вычисления

1. Образование необходимых для вычисления кодов.

2. Умножение Апр-(-Вдоп)

3. Вычисление Сдоп по формуле

^ооп ~ А„р ? (~Вдо) + (~А()<1П).

4. Перевод результата в прямой код. Следует помнить, что самый левый разряд в разрядной сетке — знаковый

5. Получение результата

Вариант 3.

А<0; В>0.

Произведем умножение двух чисел:

Умножения выполняется по формуле В табл. 2.6 приведен порядок действий при умножении.

Таблица 2.6

Порядок действий

Вычисления

1. Образование необходимых для вычисления кодов.

2. Умножение (-Адоп)-Впр

3. Вычисление Сдоп по формуле

Сдоп = (~А,)оп ) ? Впр + {-Вдоп ).

4. Перевод результата в прямой код. Следует помнить, что самый левый разряд в разрядной сетке - знаковый

5. Получение результата

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >