ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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|.