- •1. Предварительные замечания
- •3. Сложение чисел в простых кодах
- •3.1.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.1.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.1.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.1.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.1.5. Сложение отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.6.Сложение чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.1.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •3.4 Обнаружение переполнения разрядной сетки в пдк
- •3.2.1. Сложение в обратных кодах дробных и целых отрицательных чисел без переполнения (Случай 3ок)
- •3.1.4. Сложение в обратных кодах дробных и целых отрицательных чисел с переполнением (Случай 4ок)
- •3.1.5. Сложение в обратных кодах отрицательных чисел с “особым случаем переполнением ” при сложении в дополнительных кодах (Случай 5)
- •3.6.Сложение в обратных кодах чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.4 Обнаружение переполнения разрядной сетки в пок
- •4. Cложение чисел в модифицированных дополнительных кодах (мдк)
- •3.2.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.2.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.2.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.2.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.2.5. Сложение целых отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.2.6.Сложение чисел разного знака в модифицированных дополнительных кодах
- •3.2.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6,9)
- •3.2.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •4. Обнаружение переполнения разрядной сетки в модифицированных дополнительных кодах
- •1. Предварительные замечания..…………………………………………..1
3.6.Сложение чисел разных знаков
Рассматриваемые ниже случаи сложения чисел разного знака имеют следующие особенности
при сложении чисел разных знаков переполнение невозможно. Модуль суммы в этом случае всегда меньше модуля максимального и представимого в заданной разрядной сетке слагаемого;
знак суммы зависит, в отличие от ранее рассмотренных случаев, не только от знаков слагаемых, но и от соотношения их модулей.
В зависимости от соотношения модулей, сумма может формироваться или в прямом или в дополнительном кодах.
3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
Пусть, А,В – операнды, отвечающие соотношениям
для случая 6: А 0 и В0. Кроме того, | А || В |.
для случая 9: A 0 и B0 Кроме того, | А | | В |
Выполняемое сложение при этих условиях эквивалентно соответственно вычитаниям (А– В) и (В–А). Разность, априори, положительна.
Таким образом, как для дробных, так и для целых чисел в рассматриваемых случаях в результате сложения должен формироваться прямой код положительной разности.
Пример 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 и B0 Кроме того, | А | | В |, (Случай 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]пр; |
||||||
Т аким образом, примеры подтверждают аналитические выводы. |