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

Педагогический конспект учебного занятия: подробный сценарный ход для сеток 80 и 60 минут, развернутая прямая речь преподавателя, ключевые демонстрации у доски и организация самостоятельной работы.

Этап 1. Организационно-мотивационный этап 80 мин: 5 мин | 60 мин: 5 мин

Цель: мобилизовать внимание аудитории, поставить проблемный познавательный вопрос об аппаратной нейтральности памяти и сформулировать задачи занятия.

Прямая речь преподавателя: «Здравствуйте, коллеги! Сегодня мы переходим к фундаментальному вопросу архитектуры вычислительных систем: как компьютер "понимает", что именно хранится в его памяти? Представьте, что контроллер ОЗУ выдал на системную шину один байт, состоящий из всех единиц: 11111111. Что это такое? Для беззнакового счетчика циклов — это число 255. Для целочисленного АЛУ со знаком — это число минус 1. Для текстового процессора в кодировке Windows-1251 — это русская буква "я". А для видеопамяти — это битовая маска пикселей.

Физическая ячейка памяти абсолютно нейтральна: в ней нет ярлыка с типом данных. Смысл битам дает исключительно инструкция процессора. Сегодня мы досконально разберем три главные формы цифрового кодирования: представление целых и вещественных чисел по стандарту IEEE 754, кодирование текстов в ASCII и UTF-8, а также структуру растровой графики. Каждый из вас к концу занятия составит индивидуальный цифровой паспорт-протокол кодирования».

Действия обучающихся: включаются в обсуждение парадокса нейтральности памяти, записывают тему занятия, открывают интерактивный лист zanyatie.html.

Этап 2. Сообщение новых знаний 80 мин: 25 мин | 60 мин: 18 мин

Цель: раскрыть аппаратные принципы построения дополнительного кода, формата IEEE 754 Single, префиксов UTF-8 и параметров растра.

2.1. Числа с фиксированной точкой и дополнительный код (80 мин: 8 мин / 60 мин: 5 мин)

Прямая речь преподавателя: «Вспомним базовый закон разрядной сетки: n бит могут закодировать ровно 2 в степени n различных состояний. Если мы работаем без знака — это диапазон от 0 до 2^n - 1. Но как быть с отрицательными числами?

Создатели первых ЭВМ пробовали прямой и обратный коды, но натолкнулись на две тяжелейшие проблемы: появление двух нулей (плюс ноль и минус ноль) и необходимость строить внутри процессора два разных физических блока — сумматор и вычитатель. Инженерное спасение принес дополнительный код. В нем вычитание A минус B аппаратно заменяется сложением A плюс минус B в дополнительном коде! Нуль становится строго единственным, а старший знаковый бит приобретает отрицательный вес: -2^(n-1). В 8-битном байте старший бит весит минус 128».

2.2. Вещественные числа: стандарт IEEE 754 (80 мин: 10 мин / 60 мин: 7 мин)

Прямая речь преподавателя: «Перейдем к вещественным числам. В памяти невозможно зафиксировать запятую, если мы хотим работать и с микросекундами, и с гигагерцами. Поэтому используется экспоненциальная запись: мантисса, умноженная на два в некоторой степени.

Мировой стандарт IEEE 754 для 32-битного числа (float) делит слово на три поля: 1 бит знака, 8 бит порядка и 23 бита мантиссы. Запомните две важнейшие инженерные хитрости этого стандарта:
Во-первых, порядок хранится со смещением плюс 127. Почему? Чтобы диапазон степеней от минус 126 до плюс 127 превратить в положительные числа от 1 до 254. Это позволяет сравнивать два вещественных числа обычным быстрым целочисленным компаратором без декодирования знака степени!
Во-вторых, неявная единица. Любое нормализованное двоичное число начинается с единицы: 1.дробь. Зачем хранить эту единицу в транзисторах памяти? Ее просто выбрасывают из записи, а сопроцессор FPU восстанавливает ее аппаратно. В итоге при 23 физических битах мантиссы мы получаем 24 бита реальной точности».

2.3. Кодирование текста и растровой графики (80 мин: 7 мин / 60 мин: 6 мин)

Прямая речь преподавателя: «Теперь обратимся к тексту. Семь бит ASCII подарили миру 128 символов английского алфавита и служебных кодов. Но когда появились национальные языки, мир раскололся на десятки несовместимых кодовых страниц: Windows-1251, KOI-8R, CP866. Вы наверняка видели последствия этого в виде нечитаемых "кракозябр".

Стандарт Unicode объединил все языки мира, а формат UTF-8 стал гениальным решением: английские буквы занимают строго 1 байт и полностью совместимы с ASCII, а русские буквы — ровно 2 байта.

И, наконец, графика. Растровое изображение — это сетка пикселей. Его чистый информационный объем равен произведению ширины, высоты и битовой глубины цвета b. Не забывайте: формула дает результат в битах! Чтобы получить байты, результат необходимо разделить на 8».

Этап 3. Демонстрационный разбор у доски 80 мин: 15 мин | 60 мин: 10 мин

Цель: продемонстрировать эталонный ход рассуждений при переводе в IEEE 754, расчете текста и растра.

Прямая речь преподавателя: «Давайте вместе разберем на доске перевод числа -13.5 в IEEE 754:
1) Знак минус — пишем бит знака S = 1.
2) Переводим модуль в двоичную дробь: 13 — это 1101, 0.5 — это 0.1. Итого: 1101.1.
3) Нормализуем: сдвигаем запятую на 3 разряда влево: 1.1011 умножить на 2 в третьей степени. Истинный порядок e = 3.
4) Смещаем порядок: E = 3 + 127 = 130. В двоичном 8-битном виде: 10000010.
5) Формируем мантиссу: отбрасываем "1.", берем значащие биты 1011 и дописываем 19 нулей справа: 10110000000000000000000.
6) Собираем тетрады: 1100 0001 0101 1000 0000... Получаем 0xC1580000!»
  Битовый расклад IEEE 754 для -13.5_10:
  S = 1
  E = 10000010_2 (130_10)
  M = 1011 0000 0000 0000 0000 000_2
  HEX-код: 0xC1580000
        

Этап 4. Самостоятельная индивидуальная работа 80 мин: 20 мин | 60 мин: 15 мин

Цель: индивидуальное оформление расчетно-аналитической схемы-протокола в интерактивном бланке zanyatie.html по 4 вариантам.

Прямая речь преподавателя: «Приступаем к индивидуальному продукту — Заданию 4 в вашем бланке. Номер варианта берем по номеру рабочего места: 1, 2, 3 или 4.
Вам необходимо:
1. Закодировать заданное вещественное число в IEEE 754 Single и целое число в 16-битный дополнительный код.
2. Разложить предложенную строку текста, вычислить байты для CP1251 и UTF-8.
3. Рассчитать объем растрового значка 16x16 в битах и байтах для монохрома и TrueColor 24 бит.
4. Привести обратную десятичную проверку.
Напоминаю открытые критерии: правильность расчетов — 2 балла, инженерное объяснение — 1 балл, проверка — 1 балл. Всего 4 балла. Работаем самостоятельно!»

Преподаватель осуществляет фронтальный контроль, консультирует по вопросам выравнивания мантиссы и формулам растра.

Этап 5. Обратная связь и разбор типичных ошибок 80 мин: 10 мин | 60 мин: 7 мин

Цель: оперативный анализ допущенных неточностей, сверка с эталонами.

Прямая речь преподавателя: «Внимание на экран! Разберем две характерные ошибки, которые я заметил в ходе работы:
Первая ошибка: при формировании мантиссы в IEEE 754 некоторые включили ведущую единицу в 23 бита. Из-за этого мантисса сдвинулась на разряд вправо, и всё число исказилось ровно в два раза! Неявная единица потому и называется неявной, что в память физически не пишется.
Вторая ошибка: при подсчете UTF-8 многие умножили длину всей строки на два. Помните: английские буквы, пробелы, скобки и цифры — это чистый ASCII, они кодируются одним байтом. Два байта забирают только русские буквы».

Этап 6. Подведение итогов и рефлексия 80 мин: 5 мин | 60 мин: 5 мин

Цель: выставление оценок по 4-балльной матрице, фиксация образовательного результата, инструктаж по резервному заданию.

Прямая речь преподавателя: «Подведем итог. Сегодня мы убедились, что данные в памяти компьютера подчиняются строгим законам разрядности и аппаратных соглашений. Все ваши схемы-протоколы сохранены. Кто завершил оформление — нажмите кнопку "Распечатать / Сохранить в PDF" и сохраните чистовой бланк.

Для тех, кто отсутствовал или желает повысить оценку, в материалах размещен модуль домашнего задания domashnee_zadanie.html. Срок сдачи сообщит преподаватель. Спасибо за активную инженерную работу!»