Задача 1: Найти разность 31(10) - 16(10) в восьмибитном представлении
Чтобы найти разность 31(10) и 16(10):
31 - 16 = 15
1. Прямой код
Прямой код для положительного числа – это его обычное двоичное представление:
15(10) = 00001111(2) в восьмибитном формате.
2. Обратный код
Для положительного числа обратный код совпадает с прямым кодом:
00001111(2)
3. Дополнительный код
Дополнительный код для положительного числа также совпадает с прямым кодом:
00001111(2)
Задача 2: Представить число -292(10) в двоичном виде в шестнадцатибитном представлении в формате целого со знаком
1. Прямой код
Прямой код для отрицательного числа включает знаковый бит, где 1 означает отрицательное число, и остальные биты представляют абсолютное значение числа:
292(10) = 100100100(2) (девятибитное представление)
Шестнадцатибитное представление:
0000 0001 0010 0100 (для положительного)
Прямой код для -292:
1000 0001 0010 0100
2. Обратный код
Обратный код получается инвертированием всех битов прямого кода (за исключением знакового бита):
1111 1110 1101 1011
3. Дополнительный код
Дополнительный код получается путем добавления 1 к младшему биту обратного кода:
1111 1110 1101 1100
Таким образом, -292 в шестнадцатибитном двоичном представлении будет выглядеть следующим образом:
- Прямой код: 1000 0001 0010 0100
- Обратный код: 1111 1110 1101 1011
- Дополнительный код: 1111 1110 1101 1100