Чтобы записать отрицательные числа в прямом, обратном и дополнительном кодах, сначала необходимо знать, как представляются числа в двоичном формате. В 1 байте (8 битах) можно представить числа от -128 до 127.
Прямой код:
- Прямой код отрицательного числа - это просто двоичное представление его абсолютного значения, где старший бит (бит знака) равен 1.
Обратный код:
- Обратный код отрицательного числа получается путем инверсии всех битов прямого кода (0 становится 1, а 1 становится 0).
Дополнительный код:
- Дополнительный код получается путем прибавления 1 к обратному коду.
Теперь давайте рассмотрим каждое число по отдельности:
- -9:
- Прямой код: 00001001 (9) -> 10001001 (-9)
- Обратный код: 10001001 -> 01110110
- Дополнительный код: 01110110 + 1 = 01110111
- -15:
- Прямой код: 00001111 (15) -> 10001111 (-15)
- Обратный код: 10001111 -> 01110000
- Дополнительный код: 01110000 + 1 = 01110001
- -127:
- Прямой код: 01111111 (127) -> 11111111 (-127)
- Обратный код: 11111111 -> 00000000
- Дополнительный код: 00000000 + 1 = 00000001
- -128:
- Прямой код: 10000000 (128) -> 10000000 (-128)
- Обратный код: 10000000 -> 01111111
- Дополнительный код: 01111111 + 1 = 10000000
Итак, итоговые результаты:
- -9: Прямой код: 10001001, Обратный код: 01110110, Дополнительный код: 01110111
- -15: Прямой код: 10001111, Обратный код: 01110000, Дополнительный код: 01110001
- -127: Прямой код: 11111111, Обратный код: 00000000, Дополнительный код: 00000001
- -128: Прямой код: 10000000, Обратный код: 01111111, Дополнительный код: 10000000