1.7 КОД ASCII
Пусть задан источник сообщений; рассмотрим сначала кодирование для этого источника. Стандартный код ASCII (табл. 1.7.1), который представляет буквенные цифровые и некоторые другие символы, является одним из примеров кода.
Этот код использует семь двоичных символов. Поскольку, как уже отмечалось, ЭВМ работает с байтами, которые обычно являются блоками из 8 бит, один символ кода ASCII часто занимает 8 бит. Восьмой бит можно выбирать несколькими способами, иногда равным 1, так что его можно использовать как тактовый бит для синхронизации. Чаще этот бит выбирается так, чтобы общее число единиц во всех восьми битах было четным (или нечетным, см. гл. 2). Наконец, он может выбираться произвольно и никак не использоваться. Для перевода в модифицированный код ASCII, применяемый в -битовом телетайпном коде системы нужно взять -битовый код
Цель, достигаемая установлением четного числа 1 в восьми позициях, состоит в обнаружении любой одиночной ошибки, при которой заменяется на 1 или 1 на 0; при такой ошибке общее число 1 во всех восьми позициях станет нечетным.
Таблица 1.7.1 (см. скан) Семибитовый код ASII
Таким образом, получается код с обнаружением ошибок, дающий некоторую защиту от них. Возможно, еще более важно, что этот код позволяет построить более простые и надежные устройства, поскольку сама машина определяет присутствие ошибок и до некоторой степени ограничивает их отрицательные последствия.
Мы будем часто использовать проверку четности (или нечетности) числа единиц. Она называется проверкой на четность,
поскольку проверяется лишь четность (или нечетность) числа единиц в сообщении. У многих ЭВМ имеются очень полезные команды для определения четности содержимого накопителя.
Теперь можно лучше понять код ASCII (см. табл. 1.7.1). Алфавит источника, для которого применяется код ASCII, состоит из возможных знаков (символов). Эти знаки представляются (кодируются) внутри ЭВМ двоичным кодом. Восьмую позицию -битовых байтов кода ASCII можно использовать для проверки на четность. Три символа, напечатанные в табл. 1.7.1, представляют восьмеричный код. Например, (здесь опущены первые 2 бита первого восьмеричного символа). Для проверки на четность имеем
Задачи
1.7.1. Запишите буквы в двоичной форме.
1.7.2. Чему соответствует
1.7.3. Используя код с основанием 4, запишите строчные буквы алфавита кода ASCII.
1.7.4. Запишите прописные буквы алфавита из кода ASCII, используя код с основанием 16.