Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная арифметика и алгоритмическое модел...doc
Скачиваний:
105
Добавлен:
10.11.2019
Размер:
2.93 Mб
Скачать

2.1.1. Алгебраическое сложение чисел в дополнительном коде

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

При условии, что слагаемые по модулю меньше единицы: и их сумма по модулю также меньше единицы: , сложение чисел в дополнительном (модифицированном дополнительном) коде дает сумму в дополнительном (модифицированном дополнительном) коде.

Пример.

Пусть требуется найти сумму двух чисел и в дополнительном коде, если выполняются оговоренные выше условия и при этом .

X = – 0,101001 [X]qon = 1,010111

+ Y = – 0,001101 + [Y]qon = 1,110011

X+Y= – 0,110110 [X+Y]qon = 11,001010

не учитывается

[X+Y]np= 1,110110 [X+Y]np = 1,110110

Пусть X > 0; Y < 0; (X+Y) > 0. Найти сумму в дополнительном коде.

X = + 0,110110 [X]qon = 0,110110

Y = − 0,010010 [Y]qon = 1,101110

X + Y = + 0,100100 [X+Y]qon = 10,100100

не учитывается

[X+Y]np = 0,100100 [X+Y]np = 0,100100

2.1.2. Алгебраическое сложение чисел в обратном коде

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

При выполнении условия, что слагаемые и их сумма , сложение чисел в обратном (модифицированном обратном) коде дает сумму в обратном (модифицированном обратном) коде.

Пример.

Пусть требуется найти сумму двух чисел и в обратном коде, при оговоренных выше условиях и при этом .

X = – 0,110001 [X]ob = 1,001110

+ Y = – 0,001001 + [Y]ob = 1,110110

+

X+Y= − 0,111010 11,000100

[X+Y]np= 1,110110 1

[X+Y]ob = 1,000101

[X+Y]np = 1,111010

Пусть X > 0; Y < 0; (X+Y) > 0. Найти сумму в дополнительном коде.

X = + 0,111001 [X]ob = 0,111001

Y = − 0,010101 [Y]ob = 1,101110

+

X + Y = + 0,100100 10,100011

[X+Y]np = 0,100100 1

[X+Y]ob = 0,100100

[X+Y]np = 0,100100