Этап 1. Организационно-мотивационный этап 80 мин: 5 мин | 60 мин: 5 мин
Цель: мобилизовать внимание аудитории, поставить проблемный познавательный вопрос об аппаратной нейтральности памяти и сформулировать задачи занятия.
Физическая ячейка памяти абсолютно нейтральна: в ней нет ярлыка с типом данных. Смысл битам дает исключительно инструкция процессора. Сегодня мы досконально разберем три главные формы цифрового кодирования: представление целых и вещественных чисел по стандарту IEEE 754, кодирование текстов в ASCII и UTF-8, а также структуру растровой графики. Каждый из вас к концу занятия составит индивидуальный цифровой паспорт-протокол кодирования».
Действия обучающихся: включаются в обсуждение парадокса нейтральности памяти, записывают тему занятия, открывают интерактивный лист zanyatie.html.
Этап 2. Сообщение новых знаний 80 мин: 25 мин | 60 мин: 18 мин
Цель: раскрыть аппаратные принципы построения дополнительного кода, формата IEEE 754 Single, префиксов UTF-8 и параметров растра.
2.1. Числа с фиксированной точкой и дополнительный код (80 мин: 8 мин / 60 мин: 5 мин)
Создатели первых ЭВМ пробовали прямой и обратный коды, но натолкнулись на две тяжелейшие проблемы: появление двух нулей (плюс ноль и минус ноль) и необходимость строить внутри процессора два разных физических блока — сумматор и вычитатель. Инженерное спасение принес дополнительный код. В нем вычитание 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 мин)
Стандарт Unicode объединил все языки мира, а формат UTF-8 стал гениальным решением: английские буквы занимают строго 1 байт и полностью совместимы с ASCII, а русские буквы — ровно 2 байта.
И, наконец, графика. Растровое изображение — это сетка пикселей. Его чистый информационный объем равен произведению ширины, высоты и битовой глубины цвета b. Не забывайте: формула дает результат в битах! Чтобы получить байты, результат необходимо разделить на 8».
Этап 3. Демонстрационный разбор у доски 80 мин: 15 мин | 60 мин: 10 мин
Цель: продемонстрировать эталонный ход рассуждений при переводе в 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 вариантам.
Вам необходимо:
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-балльной матрице, фиксация образовательного результата, инструктаж по резервному заданию.
Для тех, кто отсутствовал или желает повысить оценку, в материалах размещен модуль домашнего задания domashnee_zadanie.html. Срок сдачи сообщит преподаватель. Спасибо за активную инженерную работу!»