3. знаковые разряды слагаемых участвуют в операции наравне с числовыми разрядами;
4. перенос из старшего знакового разряда, который может возникнуть при сложении, должен быть подсуммирован в младший разряд суммы
5. если сумма – положительное число, то результат суммирования содержит нуль в знаковом разряде. Сумма в этом случае сформирована в прямом коде. Напротив, если сумма – отрицательна, то результат суммирования содержит единицу в знаковом разряде, а сумма представлена в обратном коде;
6. при суммировании операндов одного знака возможно отрицательное или положительное переполнение, которое определяется путем сравнения знака суммы со знаком операнда (любого)
7. при использовании обратного код невозможен случай особого переполнения, а при тех же соотношениях модулей операндов имеет место простое отрицательное переполнение разрядной сетки.
Из Процедуры СлОК вытекают следующие особенности сложения чисел в обратных кодах:
1. перенос из знакового разряда, который может возникнуть при сложении, не отбрасывается как в дополнительных кодах, а должен быть подсуммирован в младший разряд суммы;
2. для обратных кодов не характерен особый случай переполнения.
В Таблице 3 приведены случаи суммирования, имеющие особенности в случае применения обратных кодах. Отличия имеют место для случаев 3,4, 8,9 (Табл.2).
возникает перенос из знакового разряда суммы и необходимо его подсуммирование в младший разряд. В случае 5 соотношение величин модулей слагаемых вызывает “особый ”случай переполнения в дополнительных кодах. Предполагается, что особый случай будет отсутствовать при использовании обратных кодов. Перечисленные случаи требуют более детального анализа.
Отличие остальных случаев заключается только в используемых при сложении кодах слагаемых и кодах, в которых формируется отрицательная сумма.
Таблица 3 – Случаи сложения, вызывающие перенос из знакового разряда
Случай сложения из табл.2 |
Знак результата |
Переполнение |
Способ определения переполнения |
Случай 3 |
“–” |
нет |
|
Случай 4 |
“+” |
есть |
Сравнение знаков |
Случай 5 |
“+” |
простое переполнение, особое переполнение невозможно |
Сравнение знаков |
Случай 6 |
“+” |
переполнение невозможно |
переполнение невозможно |
Случай 9 |
“–” |
Далее особенности обратных кодов иллюстрированы на примерах для случаев, имеющих особенности о сравнению с дополнительными кодами.
3.2.1. Сложение в обратных кодах дробных и целых отрицательных чисел без переполнения (Случай 3ОК)
3.2.3.1. Дробные отрицательные числа. Пусть складываются два отрицательных слагаемых, представленных в форме дробных чисел и таких, что (|A|+|B|)<1. Это означает, что модуль суммы не превосходит максимального числа, представимого в заданной разрядной сетке, т.е. переполнения быть не должно. Так как слагаемые отрицательные числа, то сложение выполняется в обратных кодах, а согласно Процедуре 2 сумма также должна формироваться в обратном коде.
Кроме того, следует ожидать перенос из знакового разряда, который должен быть подсуммирован к младшему разряду суммы. Действительно, SA=SB=1. Поэтому, SA+SB=1 и CO=1 (см. Табл.1))
3.3.2. Целые отрицательные числа. Пусть складываются два отрицательных слагаемых, представленных в форме целых чисел. Пусть также (|A|+|B|)<2n-1. т.е. как и при сложении дробных чисел переполнения возникать не должно. Так как слагаемые отрицательные числа и сложение выполняется в обратных кодах, то согласно Процедуре 2, то сумма должна быть сформирована в обратном коде. Кроме того, следует ожидать переноса из знакового разряда, который должен быть подсуммирован к младшему разряду суммы. При мером 1 иллюстрируются эти особенности.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.