Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ Информатика ЛР.doc
Скачиваний:
12
Добавлен:
27.08.2019
Размер:
3.47 Mб
Скачать

Обратный код

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

Обратный n-разрядный двоичный код положительного целого числа состоит из одноразрядного кода знака (двоичной цифры 0), за которым следует (n-1)-разрядное двоичное представление модуля числа (обратный код совпадает с прямым кодом).

Обратный n-разрядный двоичный код отрицательного целого числа состоит из одноразрядного кода знака (двоичной цифры 1), за которым следует (n-1)-разрядное двоичное число, представляющее собой инвертированное (n-1)-разрядное представление модуля числа.

У числа 0 имеется два обратных кода: «положительный нуль» 00000000 и «отрицательный нуль» 11111111 (приведены 8-разрядные обратные коды).

n-разрядный обратный код позволяет представить числа в диапазоне .

Примеры представления чисел в обратном коде представлены в табл. 4.

Таблица 4

Примеры представления чисел в обратном коде

Десятичный код

Двоичный код

8-разрядный обратный код

0

-0

5

-5

0

0

101

-101

00000000

11111111

00000101

11111010

Дополнительный код

Дополнительный код – наиболее распространенный способ представления отрицательных целых чисел в компьютерной арифметике. Он позволяет заменить операцию вычитания на операцию сложения, чем упрощает архитектуру ЭВМ. Дополнительный код отрицательного числа получается инвертированием двоичного числа и прибавлением к нему единицы.

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

Двоичное 8-разрядное число может представлять любое целое в диапазоне от -128 до +127. Если старший разряд равен нулю, то наибольшее целое число, которое может быть записано в оставшихся 7 разрядах равно .

В табл. 5 приведены примеры представления чисел в прямом и обратном коде.

Таблица 5

Примеры представления чисел в прямом и обратном коде

Десятичный код

8-разрядный двоичный код

прямой код

дополнительный код

0

1

-1

-10

00000000

00000001

10000001

10001010

00000000

00000001

11111111

11110110