Для представления отрицательного числа в двоичной системе (прямом, обратном и дополнительном кодах) обычно используется 8-битный формат (один байт). 1. Перевод модуля числа в двоичную систему Для начала переведем число (модуль числа ) в двоичную систему:
- (остаток 1) (остаток 0) (остаток 1) (остаток 1) (остаток 0) (остаток 1)
Записываем остатки снизу вверх: . В 8-битном представлении (добавляем нули слева): 00101101. 2. Прямой код В прямом коде самый левый бит (старший) используется для обозначения знака: 0 — для положительных чисел, 1 — для отрицательных. Остальные 7 бит содержат модуль числа.
- Число: Знаковый бит: 1 Модуль: 0101101 Прямой код:
10101101
3. Обратный код Обратный код для отрицательного числа получается путем инверсии всех бит прямого кода, кроме знакового (все 0 заменяются на 1, а 1 на 0).
- Прямой код:
10101101 - Инвертируем всё, кроме первого бита:
- Обратный код:
11010010
4. Дополнительный код Дополнительный код является наиболее распространенным форматом в современной вычислительной технике. Он получается путем прибавления единицы к младшему разряду обратного кода.
- Берем обратный код:
11010010 - Прибавляем :
11010010 + 1 = 11010011
- Дополнительный код:
11010011
Итоговая таблица (8 бит)
| Тип кода | Представление |
|---|---|
| Число 45 (для справки) | 00101101 |
| Прямой код (-45) | 10101101 |
| Обратный код (-45) | 11010010 |
| Дополнительный код (-45) | 11010011 |
Могу также рассчитать эти коды для 16-битного формата или выполнить обратный перевод из кода в десятичное число.