Представление символьной информации

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

Так, 1 бит (принимающий значения 0, 1) позволяет кодировать 2 символа, 2 бита (00, 01, 10, 11) – 4 символа, 3 бита (000, 001, 010, 100, 011, 101, 110, 111) – 8 символов и, наконец, n бит – 2n символов. Минимальное количество бит n, необходимое для кодирования N символов определяется по формуле

N ≤ 2n. (9)

С текстовыми данными можно производить следующие операции: сравнение двоичных кодов (>, <, =, ≠), слияние и разбиение текста на отдельные символы или группы символов.

В наиболее распространенном ASCII стандарте кодировки каждому символу поставлено в соответствие двоичное число от 0 до 255 (8-битовый двоичный код), например: А – 01000001 (41), В – 01000010 (42), С – 01000011 (43), D – 01000100 (44) и т.д. Символы от 0 до 127 – латинские буквы, цифры и знаки препинания – составляют постоянную (базовую) часть таблицы. Расширенная таблица от 128 до 255 символов отводиться под национальный стандарт.

В настоящее время идет внедрение нового стандарта – Unicode. Этот стандарт определяет кодировку каждого символа двумя байтами. Соответственно, число одновременно все известные символы, в том числе японские и китайские иероглифы.

Существуют и национальные стандарты кодировки. Например, в СССР был введен стандарт КОИ-8 (код обмена информацией восьмизначный), который по сей день используется для кодировки текста.

П 1.24. Какое количество бит необходимо для кодирования 33 строчных и прописных букв русского алфавита.

Решение. Всего необходимо закодировать N = 66 букв, для чего согласно формуле (9)

потребуется n = 7 бит.

П 1.25. Закодируйте в двоичном, десятичном и шестнадцатеричном коде слово АВВА.

Ответ:

1) в двоичном коде: АВВА2 = 01000001 01000010 0100001001000001.

2) в десятичном коде:

А10 = 0*27 + 1*26 + 0*25 + 0*24 + 0*23 + 0*22 + 0*21 + 1*20 = 65

В10 = 0*27 + 1*26 + 0*25 + 0*24 + 0*23 + 0*22 + 1*21 + 0*20 = 66

АВВА10 = 65666665

3) в шестнадцатеричном коде

А16 = 41, В16 = 42.

АВВА16 = 41424241.

П 1.26. Какое максимальное количество символов может содержать кодировочная таблица, если при хранении один символ из этой таблицы занимает 10 бит памяти?

а) 800; б) 80; в) 1024; г) 512; д) 256.

Ответ: в.

Пояснение: необходимо воспользоваться формулой 2i = N, где i = 10 бит. Тогда N = 210 = 1024 – количество символов в кодировочной таблице.

П 1.27. Выбрать слово, имеющее наибольшую сумму кодов символов в таблице кодировки ASCII.

а) окно; б) кино; в) ника; г) конь; д) ночь.

Ответ: д.

Пояснение: При решении этой задачи используется принцип последовательного кодирования. Буквы в кодировочной таблице располагаются в алфавитном порядке. Нет необходимости знать код каждой буквы. Сопоставим, например, слова «кино» и «ника». Они отличаются только одной буквой. Код (номер) буквы «о» больше, чем код буквы «а». Следовательно, слово «кино» имеет большую сумму кодов символов. Аналогично проведем анализ остальных слов.

Тестовые задачи

Т 1.28. Выбрать фрагмент текста, имеющий минимальную сумму кодов в таблице ASCII.

Варианты ответа: а) 2b2d; б) файл; в) file; г) 1999; д) 2001.

Т 1.29. Какое минимальное количество бит потребуется для кодирования 26 прописных и строчных латинских букв.

Варианты ответа: а) 5 бит; б) 6 бит; в) 7 бит; г) 8 бит.

Т 1.30. В каком порядке будут идти фрагменты текста «excel», «байт», «8в», «10г», «9а», «10а», если упорядочить их по убыванию?

Варианты ответа:

а) байт, excel, 8в, 9а, 10г, 10а;

б) байт, excel, 8в, 9а, 10а, 10г;

в) 10а, 10г, 9а, 8в, байт, excel;

г) байт, excel, 10г, 10а, 9а, 8в;

д) excel, байт, 10г, 10а, 9а, 8в.

Т 1.31. Во сколько раз увеличиться информационный объем страницы текста при его преобразовании из кодировки Windows 1251 (таблица кодировки содержит 256 символов) в кодировку Unicode (таблица кодировки содержит 65536 символов)?

Варианты ответа: а) 2; б) 4; в) 6; г) 8.