Представление символьной информации
Правило представления символьной информации (буквы алфавита и другие символы) заключается в том, что каждому символу в компьютере ставиться в соответствие двоичный код – совокупность нулей и единиц.
Так, 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.