вторник, 10 марта 2009 г.

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

Во всех примерах будут использоваться 8-разрядные числа.

Чтобы получить представление отрицательного числа в дополнительном коде, надо:

  1. Взять представление этого числа со знаком +
  2. Инвертировать все цифровые разряды
  3. Прибавить 1 в младший разряд

Пример: найдем представление числа -108 в дополнительном коде.

1. Запишем число 108 в двоичном представлении:

01101100

2. Инвертируем все разряды:

10010011

3. Прибавляем 1 в младший разряд:

 10010011
+00000001
---------
 10010100

Число -108 в дополнительном коде будет выглядеть так: 10010100

Правило перевода можно упростить:

  1. Взять представление числа со знаком +
  2. Инвертировать все цифровые разряды до младшей единицы. Младшая единица и следующие за ней нули остаются неизменными

В самом деле, это легко заметить, если рассмотреть представления чисел 108 и -108:

 108 = 01101100ДК
-108 = 10010100ДК

Некоторые 8-битные числа в дополнительном коде:

Число ДК
-128 1000 0000
-127 1000 0001
-126 1000 0010
-125 1000 0011
... ...
-3 1111 1101
-2 1111 1110
-1 1111 1111
0 0000 0000
1 0000 0001
2 0000 0010
3 0000 0011
... ...
125 0111 1101
126 0111 1110
127 0111 1111

Комментариев нет:

Отправить комментарий