Домашнее задание - Формы представления чисел в ЭВМ. Кодирование текстовой и графической информации

Выполняйте только если преподаватель назначил это задание. Срок сдачи сообщит преподаватель.
Изменения сохранены локально

1. Разобранный эталонный образец выполнения

Пример задачи: Закодировать число $-9.75_{10}$ в стандарте IEEE 754 Single (32 бита), строку "Процессор x86 (FPU)" в CP1251 и UTF-8, и рассчитать объем монохромного и TrueColor значка $32 \times 32$ пикселя.

1. Представление вещественного числа $-9.75_{10}$ в IEEE 754:

  • Знак: число отрицательное $\implies S = 1$.
  • Двоичный модуль: $9_{10} = 1001_2$; $0.75_{10} = 0.5 + 0.25 = 0.11_2 \implies 9.75_{10} = 1001.11_2$.
  • Нормализация: $1.00111_2 \times 2^3$. Истинный порядок $e = 3$.
  • Смещенный порядок: $E = 3 + 127 = 130_{10} = 10000010_2$.
  • Мантисса (23 бита без ведущей 1): `00111000000000000000000`.
  • Итоговое 32-битное слово: `1 10000010 00111000000000000000000`.
  • В шестнадцатеричном виде (HEX): `1100 0001 0001 1100 0000 0000 0000 0000` $\implies$ 0xC11C0000.

2. Сравнение кодировок для строки "Процессор x86 (FPU)":

  • Всего символов: 19.
  • Кириллица: "Процессор" (9 букв). ASCII: 1 пробел, "x", "8", "6", 1 пробел, "(", "F", "P", "U", ")" = 10 символов.
  • Объем в CP1251: 19 символов $\times 1$ байт = 19 байт.
  • Объем в UTF-8: $9 \text{ букв} \times 2 \text{ байта} + 10 \text{ ASCII} \times 1 \text{ байт} = 18 + 10 = $ 28 байт.

3. Расчет объема растрового значка $32 \times 32$ пикселя ($N = 1024$ пикселя):

  • Монохром ($b = 1$ бит): $1024 \times 1 = 1024$ бита = $1024 / 8 = $ 128 байт.
  • TrueColor 24 бита ($b = 24$ бита): $1024 \times 24 = 24\,576$ бит = $24\,576 / 8 = $ 3072 байта (ровно 3 Кбайт).

2. Самостоятельные упражнения

Упражнение 1. Числовые форматы: IEEE 754 Single и 16-битный дополнительный код

1.1. Переведите положительное вещественное число $+19.5_{10}$ в формат одинарной точности IEEE 754 (32 бита). Запишите биты знака $S$, смещенного порядка $E$ и мантиссы $M$. Приведите шестнадцатеричный код (HEX).

1.2. Переведите отрицательное целое число $-412_{10}$ в 16-разрядный дополнительный код. Приведите двоичный код, шестнадцатеричный вид (HEX) и проверку по отрицательному весу старшего знакового разряда ($-32\,768$).

Упражнение 2. Посимвольный расчет объема текста (CP1251 vs UTF-8)

Дана символьная строка системного сообщения:

"Контроллер ввода-вывода (I/O Hub: 8 портов)"

2.1. Подсчитайте точное общее количество символов в строке, выделив отдельно кириллические буквы и символы набора ASCII (включая пробелы, дефис, двоеточие, косую черту, цифры и скобки).

2.2. Рассчитайте информационный объем строки в байтах для однобайтовой кодировки Windows-1251 (CP1251).

2.3. Рассчитайте точный объем в байтах для кодировки UTF-8. Поясните, почему кириллические символы требуют именно 2 байта в битовой схеме UTF-8.

Упражнение 3. Расчет объема растрового изображения и битовая глубина

Для пиктограммы размером $32 \times 32$ пикселя ($N = 1024$ пикселя) рассчитайте информационный объем несжатых графических данных:

3.1. В режиме с палитрой из 16 цветов (битовая глубина $b = 4$ бита/пиксель). Укажите объем в битах и байтах.

3.2. В полноцветном режиме TrueColor (битовая глубина $b = 24$ бита/пиксель). Укажите объем в битах и байтах.

3.3. Объясните, во сколько раз увеличивается требуемый объем памяти при переходе от 16 цветов к TrueColor 24 бита и почему для 16-цветного режима необходима цветовая палитра.

3. Открытые критерии оценивания и порядок сдачи

  • Корректность (0–2 балла): верный перевод $+19.5$ в IEEE 754 и $-412$ в 16-битный доп. код; безошибочный подсчет байтов строки для CP1251 и UTF-8; правильный объем значка $32 \times 32$ в битах и байтах.
  • Объяснение (0–1 балл): логически полное обоснование правил смещения порядка, префиксов UTF-8 и различия прямой и индексированной палитры.
  • Проверка (0–1 балл): строгая десятичная проверка для чисел и сопоставление объемов памяти.

Порядок сдачи: Заполните все поля, нажмите кнопку «Распечатать / Сохранить в PDF» и передайте готовый файл преподавателю в установленный срок.