На Горох
Информатика, 10 класс

§ 4. Универсальность двоичного кодирования

"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.

Объяснение темы В оглавлении: § 4. Универсальность двоичного кодирования

Кратко о теме

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

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

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

Двоичный код — запись информации последовательностью нулей и единиц. Каждый отдельный разряд такой записи называется битом и может иметь значение 0 или 1. Это обозначение удобно для компьютеров, работающих с двумя различимыми состояниями.

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

Универсальность двоичного кодирования — возможность представить в виде последовательностей нулей и единиц разные виды информации. Сначала данные описывают числами, затем числа записывают двоичными разрядами. Это понятие объясняет, почему один принцип подходит и для текста, и для мультимедиа.

Как это устроено

Электронное устройство надёжнее распознаёт два устойчивых состояния, чем множество состояний, которые легко спутать. Например, наличие сигнала можно условно обозначить 1, а его отсутствие — 0. Поэтому двоичный алфавит делает запись данных проще для техники и снижает вероятность ошибки при распознавании отдельного разряда.

Последовательность битов сама по себе не подсказывает, что именно она означает. Одна и та же запись может быть числом, кодом символа или данными о цвете пикселя. Правило кодирования связывает значения с исходными данными, а правило декодирования позволяет выполнить обратное преобразование; обе стороны должны использовать одни и те же правила.

Целое число в двоичной системе записывают разрядами, вес которых зависит от позиции. Справа налево идут степени двойки: 2⁰, 2¹, 2² и далее. Значение числа получают сложением весов тех разрядов, в которых стоит 1, поэтому перестановка цифр меняет результат даже при неизменном количестве единиц.

Текст, изображение и звук сначала представляют числовыми данными. Символам текста назначают числовые коды, изображение описывают значениями пикселей, а звук — последовательностью измерений сигнала, которые называют отсчётами. Каждое полученное число затем можно записать битами, но для восстановления данных нужно знать, как именно они были организованы.

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

Представление разных видов информации в двоичном коде

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

Вид информацииЧто кодируетсяВо что преобразуетсяПример способа двоичного представления
ТекстСимволы и знакиЧисловые коды символовКод каждого символа записывается битами
Целые числаЧисловое значениеРазряды двоичной системыСумма степеней двойки для разрядов со значением 1
ИзображениеПиксели и их цветаЧисловые значения цвета или яркостиПоследовательная запись кодов пикселей
ЗвукЗначения сигнала в моменты измеренияЧисла-отсчётыДвоичная запись каждого отсчёта
ВидеоКадры и, при наличии, звуковая дорожкаДанные изображения и звукаКодирование кадров и звука по правилам формата

Разбор задач

Перевод десятичного числа 13 в двоичную систему

Нужно записать число в виде суммы степеней двойки, а затем проверить результат переводом обратно. Такой способ показывает, почему каждый разряд отвечает за определённый вес, а не возникает случайно. После записи проверим сумму весов разрядов с единицами.

  1. Наибольшая степень двойки, не превосходящая 13, — 8; остаётся 13 − 8 = 5.
  2. Число 5 раскладывается как 4 + 1, то есть 2² + 2⁰. В разрядах 2³, 2², 2¹, 2⁰ получаем 1, 1, 0, 1.
  3. Записываем эти разряды слева направо: 13₁₀ = 1101₂. Для проверки вычисляем 1 · 8 + 1 · 4 + 0 · 2 + 1 · 1 = 13.

Ответ: 13₁₀ = 1101₂; обратная проверка даёт 13.

Кодирование алфавита из 8 символов

Пусть сообщение состоит из символов алфавита, в котором ровно 8 знаков. Сначала определим длину равномерного кода, то есть кода, где каждый знак занимает одинаковое число битов. Затем назначим символам разные комбинации и заменим ими знаки сообщения.

  1. Ищем наименьшее n, для которого 2ⁿ ≥ 8. Так как 2³ = 8, достаточно 3 битов; двух битов не хватило бы, потому что 2² = 4.
  2. Обозначим символы A, B, C, D, E, F, G, H и назначим им коды от 000 до 111: A — 000, B — 001, C — 010, D — 011, E — 100, F — 101, G — 110, H — 111.
  3. Для примера закодируем сообщение BAD: B заменяем на 001, A — на 000, D — на 011 и соединяем блоки без пробелов.

Ответ: на один символ требуется 3 бита; сообщение BAD кодируется последовательностью 001000011. При чтении её делят на блоки по три бита, поэтому исходные символы можно восстановить.

Чёрно-белое изображение 4 × 3 пикселя

Предположим, что каждый пиксель может быть только чёрным или белым, а один бит задаёт один из этих двух цветов. Чтобы однозначно получить последовательность, нужно выбрать порядок обхода пикселей и соответствие цветов битам. Например, примем 0 за белый, 1 за чёрный и будем читать строки слева направо, сверху вниз.

  1. Находим число пикселей: 4 · 3 = 12. Значит, для записи без служебной информации потребуется 12 битов.
  2. Пусть изображение задано строками: белый, чёрный, белый, белый; затем чёрный, чёрный, белый, чёрный; затем белый, белый, чёрный, чёрный.
  3. Заменяем цвета цифрами и соединяем строки: 0100 1101 0011. Пробелы здесь только отделяют строки и не входят в данные.

Ответ: изображение представлено последовательностью 010011010011, её объём — 12 битов. Если изменить порядок обхода или соответствие цветов цифрам, потребуется знать новые правила, чтобы восстановить ту же картинку.

Типичные ошибки

Ошибка — считать, что любой набор нулей и единиц уже является понятным сообщением. Так думают, потому что видят в двоичной записи знакомые цифры, но она не содержит подсказки о своём формате. Проверьте себя: можете ли вы объяснить, что означает каждый блок и по каким правилам его читать?

Нельзя путать число символов алфавита с количеством битов на символ. Например, восемь знаков требуют не восьми битов, а трёх, поскольку 2³ комбинаций хватает для их кодирования. Для проверки найдите минимальное n, при котором 2ⁿ не меньше количества знаков.

Двоичное число нельзя получить удалением или добавлением цифр к десятичной записи. Такая ошибка возникает, когда две системы счисления принимают за один и тот же способ записи. Разложите число по степеням двойки и проверьте результат суммой весов разрядов с единицами.

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

Связь с другими темами

Для понимания двоичной записи пригодятся позиционная система счисления и степени двойки: они объясняют вес каждого разряда. Единицы измерения информации помогают оценивать объём полученных данных, а понятие кодирования — связывать запись с сообщением. Эти знания нужны при изучении устройства компьютера, файлов, растровой графики, цифрового звука, сетевой передачи и объёма данных.

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

Что запомнить

  • Компьютер работает с данными, представленными последовательностями нулей и единиц.
  • Бит — один двоичный разряд со значением 0 или 1.
  • Для осмысленного кодирования нужны алфавит и однозначные правила соответствия.
  • Количество последовательностей длины n равно 2ⁿ.
  • Текст, числа, изображения и звук перед обработкой преобразуются в числовые данные.
  • Двоичное кодирование универсально, потому что разные данные можно представить единым набором битов.
  • Декодирование восстанавливает исходную информацию по правилам, использованным при кодировании.

Частые вопросы по теме

Почему компьютер использует именно два символа, а не десять?

Электронным устройствам надёжнее различать два устойчивых состояния, например наличие и отсутствие сигнала. Их удобно обозначить цифрами 1 и 0. Несколько таких разрядов позволяют кодировать много значений.

Можно ли по одной двоичной последовательности понять, что в ней записано?

Нет, без правил кодирования последовательность нулей и единиц неоднозначна. Она может обозначать число, символ текста, часть изображения или звуковые данные. Чтобы восстановить смысл, нужно знать формат и порядок записи.

Сколько битов нужно для кодирования одного символа алфавита?

Для алфавита из N символов выбирают наименьшее целое n, для которого 2ⁿ ≥ N. Например, алфавит из 8 символов кодируется тремя битами, потому что 2³ = 8. Если код должен быть одинаковой длины для всех символов, каждой комбинации назначают свой символ.

Как изображение превращается в последовательность нулей и единиц?

Растровое изображение делят на пиксели, а каждому пикселю задают числовое значение цвета или яркости. Затем значения записывают в двоичной форме в установленном порядке. Для чёрно-белого изображения достаточно одного бита на пиксель, если пиксель может быть только чёрным или белым.

Чем кодирование отличается от перевода числа в двоичную систему счисления?

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

Спросить по теме параграфа

§ 4. Универсальность двоичного кодирования

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.