Инструменты пользователя

Инструменты сайта


examination:computer_science:question8

Вопрос №8 Равномерное алфавитное двоичное кодирование. Байтовый код.

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

•Компьютерный алфавит С включает 52 буквы латинского алфавита

• 66 букв русского (прописные и строчные)

•Цифры 0…9 – 10 штук

•Знаки математических операций, препинания, спецсимволы – 20 штук

Итого-148 символов.

К (С, 2) ≥ log2148 ≥ 7,21, но длина кода – целое число, следовательно, К (С,2) =8. Именно такой способ кодирования принят в компьютерных системах. Называют 8 бит=1 байт, а кодирование байтовым

Один байт соответствует количеству информации в одном знаке алфавита при их равновероятном распределении. Это объемный способ измерения информации.

Итак, символы (characters) в компьютере хранятся в виде числового кода, причем каждому символу ставится в соответствие своя уникальная комбинация двоичных разрядов. В этом случае текст будет представлен как длинный ряд битов, в котором следующее друг за другом комбинации битов отражают последовательность символов в исходном тексте. Присвоение символу конкретного двоичного кода _ это вопрос соглашения, которое фиксируется в кодовой таблице – их существует несколько.

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

Для разных типов ЭВМ используют различные таблицы кодировки. С распространением ПК типа IBM PC международным стандартом стала таблица кодировки под названием ASCII.

Американский национальный институт стандартов (American National Standards Institute, ANSI) принял американский стандартный код для обмена информации (American Standard Cod for Information Interchange – ASCII), который приобрел очень большую популярность. В этом коде комбинации двоичных разрядов длинной 7 бит используют для преставления строчных и прописных букв английского алфавита, цифр от 0 до 9, а также кодов управления передачей информации (перевод строки, возврат каретки, табуляция и т.д.). Определим мощность алфавита, зная, что каждый символ несет 7 бит информации: N=27=128, т.е. 7-ю битами можно закодировать 128 различных символов. Управляющие символы получили коды 0..31, 127. Символы, видимые на экране дисплея или на бумаге при печати, получили коды 32..126.

В наше время код ASCII часто употребляется в расширенном восьмиразрядном формате, который получается добавлением нуля в старший (7-ой) разряд байта. Но байт дает нам возможность закодировать 256 различных символов (N=28=256)! Следовательно, при использовании 7-битовой кодировки остается незадействованной половина кодовой таблицы. Поэтому коды 128..255, получаемые добавлением 1 в старший разряд, были выделены для представления символов, неподдерживаемых исходной версией кода ASCII – так называемых национальных символов и алфавитов, а также для символов псевдографики. Но 01000001 представляет также букву А. Таким образом одна и та же комбинация из восьми битов может представлять как число, так и букву, а данном случае комбинаций 01000001 это 65, а с другой стороны – буква А. Все зависит от интерпретации битового содержания. Если программа определяет элемент данных для арифметических целей, то 01000001 представляет двоичное число, эквивалентное десятичному числу 65. Если программа определяет элемент данных (один смежный байт или более), имея в виду его описание, как, например, заголовок, тогда 01000001 представляет собой букву или «строку». При программировании это различие становится понятным, так как назначение каждого элемента данных определено.

examination/computer_science/question8.txt · Последние изменения: 2014/01/15 12:15 (внешнее изменение)