Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное_пособие_информатика_v.doc
Скачиваний:
44
Добавлен:
04.11.2018
Размер:
606.21 Кб
Скачать

3.5.2. Сложение чисел в обратном коде

а) Оба числа положительные. Складываются два положительных числа 4-разрядных числа. n = 5.

Десятичное сложение

Двоичное сложение

Сложение в обратном коде

+310

+

+410

+710

+00112

+

+01002

+01112

000112

+

001002

001112

б) Одно из чисел положительное, а другое – отрицательное. Положительное число больше по модулю отрицательного. n = 5.

Десятичное сложение

Двоичное сложение

Сложение в обратном коде

+910

+

-410

+410

+10012

+

-01002

+01012

010012

+

110112

(1)001002

+ 1

001012

циклический перенос!

в) Числа имеют разные знаки. Отрицательное число больше по модулю положительного числа. n = 5.

Десятичное сложение

Двоичное сложение

Сложение в обратном коде

+310

+

-1210

-910

+00112

+

-11002

-10012

000112

+

100112

101102

+1110

+

-1110

-110

+10112

+

-10112

00002

010112

+

101002

111112

два представления нуля!

г) Оба числа отрицательные. n = 5.

Десятичное сложение

Двоичное сложение

Сложение в обратном коде

-310

+

-110

-1410

- 00112

+

- 10112

- 11102

111002

+

101002

(1)100002

+ 1

100012

циклический перенос!

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

3.5.3. Расширение знака

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

Пример

Таблица 8

n =5

n =7

X

Xпр

Xобр

Xдоп

Xобр

Xдоп

Xпр

12

01100

01100

01100

0001100

0001100

0001100

-12

11100

10011

10100

1110011

1110100

1001100

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

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

При сложении переполнение происходит в том случае, если слагаемые имеют одинаковые знаки, а знак суммы отличается от знака слагаемых.

В иной формулировке: переполнение происходит в том случае, если значения битов переноса в знаковый разряд и из знакового разряда различны.

Переполнение нужно фиксировать!

Пример

а) Оба числа положительные.

Десятичное сложение

Двоичное сложение

Сложение в дополнительном коде

n = 4

n = 5

+510

+

+610

+1110

+1012

+

+1102

+10112

01012 +

+

01102 +

10112 -

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

001012 +

+

001102 +

010112 +

б) Оба числа отрицательные.

Десятичное сложение

Двоичное сложение

Сложение в дополнительном коде

n = 4

n = 5

-310

+

-610

-910

-112

+

-1102

-10012

11012 -

+

10102 -

101112 +

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

111012 -

+

110102 -

(1)101112 -