Сложение чисел в МПТ: Методическое пособие к лабораторной работе, страница 7

3.6.Сложение чисел разных знаков

Рассматриваемые ниже случаи  сложения чисел разного знака имеют следующие особенности

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

2.  знак суммы зависит, в отличие от ранее рассмотренных случаев, не только от знаков слагаемых, но и от соотношения их модулей.

В зависимости от соотношения модулей, сумма может формироваться или в прямом или в дополнительном кодах.

3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)

Пусть, А,В – операнды, отвечающие соотношениям 

для случая 6: А ³0 и В£0. Кроме того, | А |³| В |.

для случая 9: A£ 0 и B³0 Кроме того, | А |£ | В |

Выполняемое сложение при этих  условиях эквивалентно соответственно вычитаниям (А– В)  и (В–А). Разность, априори, положительна.

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


Пример 6 МОДУЛЬ ПОЛОЖИТЕЛЬНОГО ОПЕРАНДА БОЛЬШЕ МОДУЛЯ ОТРИЦАТЕЛЬНОГО (Случаи 6,9)

Выполнить в ПДК  сложение соответственно дробных А, В и целых X,Y операндов разных знаков.

Дробные слагаемые равны

Целые слагаемые равны

А=0,812510=   0,11010002;

В= –0,7510 = –0,11000002;

X=–1610 = –0 00100002;

Y= 5610 =   0 01110002;

Предварительное решение. Предварительное сложение приводит к следующим результатам

A+B=0,812510 –0,7510=0,062510=0,00010002

          X+Y= 5610–1610= 4010= 0 01010002..

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

        Решение. Так как операнды B и X отрицательные числа, то они должны быть преобразованы в дополнительные коды.

Дополнительный код дробного слагаемого В

Дополнительный код целого слагаемого X

[В]доп=1.01000002

[X]доп=1.11100002

        Сложение в двоичных простых кодах имеет вид:


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

3.1.6.3.  Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).

Пусть, А,В операнды, отвечают соотношениям 

А ³0 и В£0. Кроме того, | А |£| В, (Случай 7)

A£ 0 и B³0 Кроме того, | А |³ | В |, (Случай 8) .

Выполняемое сложение для случая 7 эквивалентно вычитанию (А – В).  Разность, априори, отрицательна и равна –( |В| –| А|). Для случая 8 сложение эквивалентно вычитанию (В –А) Разность, также априори отрицательна и равна –( |A| –|B|).

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

ПРИМЕР7. МОДУЛЬ ПОЛОЖИТЕЛЬНОГО ОПЕРАНДА МЕНЬШЕ МОДУЛЯ ОТРИЦАТЕЛЬНОГО (СЛУЧАИ 7,8)

Выполнить в ПДК  сложение соответственно дробных А, В и целых X,Y операндов разных знаков.

Дробные слагаемые равны

Целые слагаемые равны

А =   0,7510  =    0,11000002

В = –0,87510= –0,11100002

X= –6410 = –0 10000002    

Y=   5610 =   0 01110002;

Предварительное решение. Предварительное сложение приводит к результатам

A+B = 0,7510 – 0,87510 = – 0,12510=–0,00100002

          X+Y= –6410+5610= – 810 = – 0 00010002.

        Решение. Так как все операнды B и X отрицательные числа, то они должны быть преобразованы в дополнительные коды.

Дополнительный код дробного слагаемого В

Дополнительный код целого слагаемого X

[В]доп=1.00100002;

[X]доп=1.10000002

        Сложение в двоичных дополнительных кодах имеет вид:


Суммы сформированы в дополнительных кодах, поэтому они требуют преобразования в прямой код.

Преобразование в прямой код позволяет получить

                             (А+В)=[1.1110000]доп®[1.0010000]пр;

                             (X+Y)=[1 1111000]доп®[1 0001000]пр;

Таким образом, примеры подтверждают аналитические

 выводы.