Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы (2).docx
Скачиваний:
22
Добавлен:
21.03.2016
Размер:
2.19 Mб
Скачать

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

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

127                 01111111                 01111111  

1                  00000001                 00000001         

0                 00000000                 00000000               

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

  1. Если число, записанное в прямом коде, положительное, то к нему дописывается старший (знаковый) разряд, равный 0, и на этом преобразование заканчивается;

  2. Если число, записанное в прямом коде, отрицательное, то все разряды числа инвертируются, а к результату прибавляется 1. К получившемуся числу дописывается старший (знаковый) разряд, равный 1.

Преимущества

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

  • Более удобная упаковка чисел в битовые поля.

  • Отсутствие числа «минус ноль».

Недостатки

  • Дополнительный код неочевиден для новичков.

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

  • Модуль наибольшего числа не равен модулю наименьшего числа. Пример: знаковое целое 8-байтовое. Максимальное число: 12710== 7F16== 011111112. Минимальное число: -12810== 8016,дополнительный код== 100000002,дополнительный код. Соответственно, не для любого числа существует противоположное. Операция изменения знака может потребовать дополнительной проверки.