Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_итог7.doc
Скачиваний:
19
Добавлен:
17.11.2019
Размер:
16.96 Mб
Скачать

3.1.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)

3.1.1.1 Дробные числа. Пусть складываются два положительных слагаемых представленных в форме дробных чисел. Пусть также (A+B)<1.

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

А налитически эти допущения приводят к зависимости

Соотношения (7) интерпретируется следующим образом. Вследствие ограничения (А+В)<1 при сложении отсутствует перенос CY из старшего разряда модуля суммы в знаковый разряд. Такой перенос мог бы повлиять на значение знака суммы. Тогда, содержимое знакового разряда результата определяется суммой SA+SB+ CY =0*20+0*20+0=0. Таким образом, в отсутствии переноса, сумма – положительное число, представленное в прямом коде с нулевым знаковым разрядом, а переполнение отсутствует.

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

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

Таблица 1 – Случаи сложения дробных и целых чисел в простых дополнительных кодах

Знаки слагаемых

Знак

Соотношение

величин модулей

слагаемых

Возможность

переполнения

Случай

Условия

наличия/отсутствия

переполнения

Знак суммы,

как признак

наличия/отсутствия

переполнения

A

B

Одинаковые

+

+

несущественно

возможно

положительное

переполнение

1,

переполн. нет, сумма положит.

(A+B)<1 –для дроби

(A+B)<2n-1 –для целого

“+“,

совпадает со знаками слагаемых

2,

пол. переполнение

(A+B) 1 – для дроби

(A+B) 2n-1 –для целого

“–“,

противоположен знакам слагаемых

несущественно

возможно

отрицательное

переполнение

3,

переполн. нет, сумма отрицат.

|A+B|<1 –для дроби

|A+B|<2n-1 –для целого

“–“,

совпадает со знаками слагаемых

4,

отр. переполнение

|A+B|1 – для дроби

|A+B|2n-1 – для целого

“+“,

противоположен знакам слагаемых

|A|+B|=1 –для дроби

|A|+|B|=2n-1 – для целого

особый случай

переполнения

5, особый случай

переполнения

|A|+|B|–1= 0 –для дроби

|A|+|B|–2n-1= 0 – для целого

“–“ ,

совпадает со знаками слагаемых

Разные

+

|A| > |B|

переполнение

невозможно

6, сумма положит.

Переполнение

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

“+”

+

|A| < |B|

7, отриц.

“–“

+

|A| > |B|

8, отриц.

“–“

+

|A| < |B|

9, сумма положит.

“+”

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

Пример 1 Сложение дробных и целых положительных чисел без переполнения (Случай 1)

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

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

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

А= 0.742187510=0.10111112;

В= 0,187510 = 0.00110002,

X= 3710 = 0 01001012;

Y= 2410 = 0 00110002.

Предварительное решение. При заданных значениях слагаемых, суммы (А+В) и (X+Y) должна быть равны, соответственно

(А+В) =0.929687510 ®0.11101112 и (X+Y) = 6110 ®0 01111012.

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

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

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

Т аким образом, результаты – положительные суммы без переполнения, сформированные в прямом коде, что подтверждает условия (7), (8). Признаком отсутствия переполнения является знак суммы, совпадающий со знаком слагаемых.