Интернет магазин китайских планшетных компьютеров



Компьютеры - Дополнительный код (представление числа) - Дополнительный код для десятичных чисел

24 февраля 2011


Оглавление:
1. Дополнительный код (представление числа)
2. Преобразование дополнительного кода
3. Дополнительный код для десятичных чисел
4. Пример программного преобразования



Тот же принцип можно использовать и в компьютерном представлении десятичных чисел: для каждого разряда цифра X заменяется на 9−X, и к получившемуся числу добавляется 1. Например, при использовании четырёхзначных чисел −0081 заменяется на 9919.

Реализация алгоритма преобразования в обратный код

Pascal

if a<0
  then a:= or 128) + 1;

C/C++

if 
  a = |128 ) + 1;

Преимущества и недостатки

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

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

Недостатки

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


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


<<< Двоично-десятичный код
Дроби в Юникоде >>>