У Пети в компьютере вещественные числа представлены в формате: 2 байта, из которых 6 бит отводится под порядок, 1 бит под знак числа, остальные – под мантиссу. Однажды компьютер дал сбой и стал выводить на экран вещественные числа только во внутреннем формате ему расшифровать выведенные шестнадцатеричные коды: 1) СF00
2) 2F80
Для начала, давайте рассмотрим формат представления числа на компьютере Пети:
- 2 байта = 16 бит
- 6 бит отводится под порядок
- 1 бит под знак числа
- остальные биты — под мантиссу
Сейчас мы будем анализировать два шестнадцатеричных кода и расшифровывать их.
1) СF00:
Шестнадцатеричный код "СF00" представляет число в формате двоичного представления. Давайте преобразуем его в двоичный вид:
"С" соответствует 12, а "F" — 15. В двоичной системе счисления числа от 0 до 15 представляются четырьмя битами, поэтому 12 будет равно "1100", а 15 будет равно "1111". Получаем двоичное представление кода "СF00" — "1100 1111 0000 0000".
Теперь проанализируем двоичное представление:
- Первый бит означает знак числа. Если бит равен "0", значит число положительное, а если "1", то отрицательное.
- Следующие 6 бит отведены под порядок числа. Они в данном случае равны "1100 11", что в двоичной системе равно 51.
- Остальные биты представляют мантиссу числа. Здесь вся мантисса равна "1111 0000 0000".
Итак, расшифрованный результат для кода "СF00":
- Знак числа: отрицательный, так как первый бит равен "1".
- Порядок числа: 51.
- Мантисса: "1111 0000 0000".
2) 2F80:
Шестнадцатеричный код "2F80" также нужно преобразовать в двоичный вид:
"2" равно 2, а "F" равно 15. В двоичной системе счисления числа от 0 до 15 также представляются четырьмя битами, поэтому 2 будет равно "0010", а 15 — "1111". Получаем двоичное представление кода "2F80" — "0010 1111 1000 0000".
Переходим к анализу двоичного представления:
- Первый бит: "0", значит число положительное.
- Порядок числа: "0010 11", что в двоичной системе равно 11.
- Мантисса: "1111 1000 0000".
Итак, расшифрованный результат для кода "2F80":
- Знак числа: положительный, так как первый бит равен "0".
- Порядок числа: 11.
- Мантисса: "1111 1000 0000".
Таким образом, мы расшифровали шестнадцатеричные коды "CF00" и "2F80" и определили знак числа, порядок числа и мантиссу для каждого из них.