- •Введение
- •1. Предмет информатики
- •1.1 Роль информации в современном обществе
- •1.2 Информационные барьеры в истории человечества
- •1.3 Предметная область информатики
- •2. Теория информации
- •2.1 Исходные понятия теории информации
- •2.2 Формы представления информации
- •2.3 Преобразование сообщений
- •3. Понятие информации в теории Шеннона
- •3.1 Понятие энтропии
- •3.2 Условная энтропия
- •3.3 Статистическое определение информации
- •3.4 Энтропия и информация
- •3.5 Информация и алфавит
- •4. Кодирование символьной информации
- •4.1 Постановка задачи кодирования. Первая теорема Шеннона
- •4.2 Алфавитное неравномерное двоичное кодирование сигналами равной длительности
- •4.2.1 Неравномерный код с разделителем
- •4.2.2 Префиксное неравномерное кодирование
- •4.3 Равномерное алфавитное двоичное кодирование. Байтовый код
- •4.4 Алфавитное кодирование с неравной длительностью элементарных сигналов. Код Морзе
- •4.5 Блочное двоичное кодирование
- •5. Кодирование и представление чисел в компьютере
- •5.1 Системы счисления
- •5.2 Перевод чисел из одной системы счисления в другую
- •5.3 Перевод чисел между системами счисления с основанием 2k
- •5.4 Формы представления вещественных чисел
- •5.5 Кодирование целых чисел в компьютере
- •5.5.1 Кодирование в компьютере целых чисел без знака
- •5.5.2 Кодирование в компьютере целых чисел со знаком
- •5.6 Кодирование в компьютере вещественных чисел
- •5.7 Двоично-десятичные коды
- •5.7.1 Код (8421) – код прямого замещения
- •6. Обработка чисел в компьютере
- •6.1 Выполнение операций сложения
- •6.2 Сложение нормализованных чисел
- •6.3 Выполнение операции умножения
- •6.3.1 Общий алгоритм умножения
- •6.3.2 Особенности умножения в форме с плавающей запятой
- •6.4 Деление чисел
- •7. Кодирование графической и звуковой информации
- •7.1 Представление изображений
- •7.2 Представление звука
- •Список литературы
- •Родина Наталья Васильевна Информатика
- •Часть 1
- •107846, Москва, ул.Стромынка, 20
4.3 Равномерное алфавитное двоичное кодирование. Байтовый код
В этом случае двоичный код символов первичного алфавита строится цепочками равной длины, то есть со всеми знаками связано одинаковое количество информации, равное I(А) = log2N.
Формировать признак конца знака не требуется, поэтому для определения длины кода можно воспользоваться формулой К(А, 2) Log2N. Приемное устройство просто отсчитывает оговоренное заранее количество элементарных сигналов и определяет символ в соответствии с таблицей кодов.
При этом недопустимы сбои: например пропуск одного элементарного сигнала приведет к сдвигу всей кодовой последовательности и неправильной ее интерпретации (проблема решается путем синхронизации или иными способами).
Примером равномерного алфавитного кодирования является телеграфный код Бодо, пришедший на смену азбуке Морзе. Исходный алфавит должен содержать не более 32 символов К(А, 2) = 5 = log232, т.е. каждый знак первичного алфавита содержит 5 бит информации и кодируется цепочкой из 5 двоичных знаков.
Условие N 32 выполняется для языков, основанных на английском алфавите (N = 26+1 = 27).
Однако в русском алфавите 34 буквы. По этой причине в один знак «сжимают» «е, ё» и «ь, ъ». После такого сжатия N=32, однако, не остается свободных кодов для знаков препинания, поэтому в телеграммах они отсутствуют или заменяются буквенными аббревиатурами. Это не является заметным ограничением, так как избыточность языка позволяет легко восстановить информационное содержание сообщения.
Избыточность кода Бодо для русского языка Q(ru, 2) = 0,148, а для английского – Q(en, 2) = 0,239.
Другим важным примером использования равномерного алфавитного кодирования является представление символов в компьютере.
Чтобы определить длину кода, необходимо начать с установления количества знаков в первичном алфавите. Компьютерный алфавит (С) должен включать:
26 * 2 = 52 буквы латинского алфавита (прописные/строчные);
33 * 2 = 66 букв русского алфавита (прописные/строчные);
0 9 = 10 цифр;
знаки арифметических операций, препинания, спецсимволы - 20.
Получается общее число символов N = 148. Оценим длину кодовой цепочки К(С, 2) log2148 7,21.
Поскольку длина кода – целое число, то K (C, 2) = 8.
Именно такой способ кодирования принят в компьютерных системах – любому символу ставится в соответствие код из 8 двоичных разрядов (8 бит).
Эта последовательность сохраняется и обрабатывается как единое целое, то есть отсутствует доступ к отдельному биту – по этой причине разрядность устройств компьютера, предназначенная для хранения или обработки информации кратна 8.
Совокупность 8 связанных бит называется байт, а представление таким образом символа - байтовым кодированием.
Байт наряду с битом может использоваться как единица измерения количества информации в сообщении. Один байт соответствует количеству информации в одном знаке алфавита при их равновероятном распределении.
Этот способ измерения количества информации называется объемным.
Iвер Iоб.
Именно байт принят в качестве единицы измерения количества информации в международной системе единиц СИ. 1 байт = 8 бит. Наряду с байтом для измерения количества информации используется более крупные производные единицы:
1 КБайт = 210 байт =1024 байт;
1 МБайт = 220 байт = 1024 Кбайт;
1 ГБайт = 230 байт = 1024 М байт;
1ТБайт = 240 байт = 1024 Г Байт (Терабайт).
Использование 8-битных цепочек позволяет закодировать 28 = 256 символов, что превышает оцененное выше N, и, следовательно, дает возможность употребить оставшуюся часть кодовой таблицы для представления дополнительных символов.
Однако недостаточно только условиться об определенной длине кода. Ясно, что способов кодирования очень много. По этой причине для совместимости технических устройств и обеспечения возможности обмена информацией между многими потребителями требуется согласование кодов.
Подобное согласование осуществляется в форме стандартизации кодовых таблиц.
В персональных компьютерах и телекоммуникационных системах применяется международный байтовый код ASCII (American Standard Code for Information Interchange - американский стандартный код обмена информацией).
Он регламентирует коды первой половины кодовой таблицы (номера кодов от 0 до 127, то есть первый бит всех кодов 0). В эту часть попадают коды прописных и строчных английских букв, цифры, знаки препинаний и математических операций, а также некоторые управляющие коды (номера от 0 до 31).
Вторая часть кодовой таблицы - она считается расширением основной - охватывает коды в интервале от 128 до 255 (первый символ -1). Она используется для представления символов национальных алфавитов, а также символов псевдографики. Для этой части также имеются стандарты (например, для русского языка это КОИ-8 и другие).
Как и в основной таблице, так и в ее расширении коды букв и цифр соответствуют их лексикографическому порядку (то есть порядку следования в алфавите).
В настоящее время находит все более широкое применение еще один международный стандарт кодировки - Unicode. Его особенность в том, что в нем использовано 16-битное кодирование (то есть 2 байта на символ). Это позволяет включать в первичный алфавит 65536 знаков.
Это, в свою очередь, позволяет создать и использовать единую для всех распространенных алфавитов кодовую таблицу (в том числе китайский, японский алфавит).