Соотношения (11) интерпретируется следующим образом. Вследствие ограничения (А+В)<1 отсутствует перенос CY в младший знаковый разряд из старшего разряда модуля числа. Перенос мог бы повлиять на значение знаков суммы. Содержимое знаковых разрядов определяется суммой SSA+SSB+ CY =00+00+0=00. Таким образом, сумма – положительное число, представленное в прямом коде, а переполнение отсутствует.
3.2.1.2 Целые числа.Пусть складываются два положительных слагаемых представленных в форме целых чисел. Пусть также (A+B)<2n-1. Сложение выполняется в прямых кодах. Очевидно, что сумма в этом случае должна быть положительным числом, переполнения в этом случае (см. условие 4) возникать не должно, а сумма должна быть сформирована прямом коде.
Аналитически этот случай описывается как
Пример 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. Очевидно, что в этом случае должно иметь место положительное переполнение разрядной сетки, признаком которого служит отрицательный знак суммы. Так как слагаемые положительные числа, то сложение выполняется в прямых кодах.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.