ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.06.2021

Просмотров: 149

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Дополнительный код некоторого отрицательного числа представляет собой результат инвертирования (замены 1 на 0 и наоборот) каждого бита двоичного числа, равного модулю исходного отрицательного числа плюс единица. К примеру, рассмотрим десятичное число -18510. Модуль данного числа в двоичном представлении равен 101110012. Сначала нужно дополнить это значение слева нулями до нужной размерности — байта, слова и т. д. В данном случае дополнить нужно до слова, так как диапазон представления знаковых чисел в байте составляет -128...127. Следующее действие — получить двоичное дополнение. Для этого все разряды двоичного числа нужно инвертировать:

00000000101110012 1111111010001102

Теперь прибавляется единица:

1111111010001102 + 0000000000000001 = 1111111010001112

Результат преобразования равен 11111111010001112. Именно так и представляется число -18510 в компьютере.

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

1. Выполнить инвертирование битов двоичного дополнения.

2. К полученному двоичному числу прибавить двоичную единицу. К примеру, определим модуль двоичного представления числа

-18510 = 11111111010001112.

Сначала инвертируем биты:

11111111010001112 00000000101110002.

Добавляем двоичную единицу: 00000000101110002 + 00000000000000012 = 00000000101110012 = |-185|.