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

Соотношения (11) интерпретируется следующим образом.  Вследствие ограничения (А+В)<1 отсутствует перенос CY в младший знаковый разряд из старшего разряда модуля числа. Перенос  мог бы повлиять на значение знаков суммы. Содержимое знаковых разрядов определяется суммой SSA+SSB+ CY =00+00+0=00. Таким образом, сумма – положительное число, представленное в прямом коде, а переполнение отсутствует.

3.2.1.2 Целые числа.Пусть складываются два положительных слагаемых представленных в форме целых чисел. Пусть также (A+B)<2n-1. Сложение выполняется в прямых кодах. Очевидно, что сумма в этом  случае должна быть  положительным числом, переполнения в этом случае (см. условие 4) возникать не должно, а сумма должна быть сформирована прямом коде.

Аналитически этот случай описывается как


          Как и для дробных чисел, вследствие ограничения (А+В)<2n-1, отсутствует перенос CY в знаковый разряд из старшего разряда модуля числа. Поэтому, содержимое знакового разряда определяется суммой SSA+SSB+ CY =00+00+0=00. Таким образом, сумма – положительное число, представимое в разрядной сетке и сформированное в прямом коде.


Пример 1.Сложение дробных и целых положительных чисел БЕЗ переполнениЯ (случай 1мдк)

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

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

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

А= 0.74218750=00.10111112;  В=0,187510         =00.00110002

X= 3710=00 01001012;

Y =2510=00 00110012

Предварительные выводы. Предварительное сложение приводит к результатам       (А+В) → 0.92187510 = 00.1110112,  (X+Y) → 6210 = 00 0111102.

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

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

        Решение. Так как операнды – положительные числа, сложение выполняется в прямых кодах

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


Результаты подтверждают предварительные выводы.

3.2.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)

               3.2.2.1 Дробные числа. Пусть складываются два положительных слагаемых представленных в форме дробных чисел. Пусть также (A+B)³1. Очевидно, что сумма в этом  случае превосходит максимальное число,  представимое в заданной разрядной сетке, т.е. должно иметь место переполнение, признаком которого является код 01 знака суммы. Так как слагаемые положительные числа, то сложение выполняется в прямых кодах, а переполнение положительное.


Аналитически этот случай сложения  записывается как

Из (13) следует, что: так как (А+В)³ 1, то при  сложении формируется перенос CY в знаковые разряды из старшего разряда модуля суммы. Перенос  влияет  на значение кода знака суммы. Этот код  определяется суммой SSA+SSB+ CY =00+00+01=01. Таким образом, сумма – число, в знаковых разрядах которого код 01, а в значащих разрядах разность (A+B) –1.

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

Более того, какая комбинация позволяет определить и тип переполнения: положительное.

3.2.2.2. Целые числа.Пусть складываются два положительных слагаемых, представленных в форме целых чисел. Пусть также (A+B)³2n-1. Очевидно, что в этом  случае должно иметь место положительное переполнение разрядной сетки, признаком которого служит  отрицательный знак суммы. Так как слагаемые положительные числа, то сложение выполняется в прямых кодах.