Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

Символьная (алфавитно-цифровая) информация в компьютере представляется посредством восьмиразрядных двоичных кодов. Полное число кодовых комбинаций нулей и единиц определяется длиной (разрядностью) кода и составляет 28 = 256. То есть, используя восьмиразрядный двоичный код (восемь битов) можно закодировать 256 символов. Каждому символу (цифре, букве, знаку) ставится в соответствие единственный код из числа кодовых комбинаций. С помощью восьмиразрядного кода можно закодировать строчные и прописные буквы как латинского, так и русского алфавитов, цифры, знаки препинания, знаки математических операций и некоторые специальные символы (например, §, /).

Каждому символу алфавита сопоставляется определенное целое число из диапазона от 0 до 255 – это его порядковый номер, код. Если “открыть” память ЭВМ, то можно увидеть коды букв. Обычный текст представляется в компьютере последовательностью кодов, иначе говоря, вместо каждой буквы текста хранится ее номер по кодовой таблице. При выводе букв на бумагу или экран дисплея производится формирование их зрительных образов по кодам.

Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера [6, c. 21]. Для английского языка, захватившего де-факто нишу международного средства общения, противоречия уже сняты. Институт стандартизации США ввел в действие систему кодирования ASCII (American Standard Code for Information Interchange - стандартный код информационного обмена США). В системе ASCII закреплены две таблицы кодирования – базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255. Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств. В этой области размещаются так называемые управляющие коды, которые не выводятся ни на экран, ни на устройства печати, но ими можно управлять тем, как производится вывод прочих данных. Начиная с 32 по 127 код размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых символов. Значения кодов с 128 по 255 (расширенная часть системы кодирования) определяет значения кодов букв других национальных алфавитов, например, русского. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Только в России можно указать три действующих стандарта кодировки и еще два устаревших.

Другая распространенная кодировка носит название КОИ-8 (код обмена информацией, восьмизначный) – ее происхождение относится ко временам действия Совета Экономической Взаимопомощи государств Восточной Европы. Сегодня эта кодировка имеет широкое распространение в компьютерных сетях на территории России и в российском секторе Интернета. В связи с изобилием систем кодирования текстовых данных, действующих в России, возникает задача межсистемного преобразования данных – это одна из распространенных задач информатики. Выход представляется в использовании кодирования не восьмиразрядными двоичными числами, а числами с большим количеством разрядов. Такая система, основанная на 16-разрядном (16 бит) кодировании символов, получила название универсальной – UNICODE. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65536 различных символов – этого поля достаточно для размещения в одной таблице символов большинства языков планеты. Переход на данную систему долгое время сдерживался из-за недостаточных ресурсов средств вычислительной техники (в этой системе все текстовые документы автоматически становятся вдвое длиннее). В настоящее время происходит постепенный перевод документов и программных средств на универсальную систему кодирования.

 

Кодирование чисел в ЭВМ

 

Числа вводятся в десятичном виде, а в памяти компьютера они представляются двоичными кодами. При выводе числа снова преобразуются в десятичную систему счисления. Чаще встречаются целые числа, среди которых можно выделить короткие (по числу цифр) и длинные. Целые числа принято изображать арабскими цифрами, употребляя при необходимости знаки “+” и “-“. Очевидно, что эти 12 символов также должны присутствовать в кодовой таблице и меть там свои номера (коды). Для представления коротких целых чисел используют 2 байта (16 бит). Полное число возможных состояний, представимых 16-ю битами, составляет 216 = 65536. Необходимо один бит отвести под знак числа. Знак “+” кодируется нулем, знак “–“ единицей. Оставшиеся 15 бит дают 215 = 32768. Это можно было бы считать наибольшим представимым целым числом, но нужно еще учесть число ноль, поэтому получается, что в ячейку объемом 16 бит можно записать любое целое число в диапазоне от –32767 до +32767 включительно. Здесь оказались включенными +0 и –0. Этого научились избегать и окончательно диапазон целых чисел получается от –32767 до +32768. Этот вариант представления целых чисел легко воплощается в аппаратуре. Иногда встречаются более длинные целые числа, которые не помещаются в указанный диапазон. Тогда добавляют еще 2 байта, т.е. диапазон значений увеличивается на 65536. Получается новый диапазон от -2147483648 до +2147483647. Более крупные целые числа на практике встречаются очень редко, и последнего диапазона оказывается вполне достаточно.

Таким образом, при кодировании целых чисел в два байта помещается, по крайней мере, четырехзначное число со знаком, а в четыре байта – девятизначное. Если бы в каждый байт заносили только по одной цифре числа (как буквы или другие символы), то в два байта помещались бы числа в диапазоне от 0 до 99.

Число +15 в машине будет иметь вид 00000000 00001111, а число 257 будет иметь вид 00000001 00000001. Как видно коды чисел представлены в двоичной системе счисления. Как переводятся числа из десятичной в двоичную систему счисления и наоборот?

Для перевода числа из любой системы счисления в двоичную делят данное число на 2 и записывают остаток (0 или 1), результат снова делят на 2 и новый остаток записывают слева от первого и т.д. Когда в частном получается 1, то она приписывается слева к последовательности остатков, и эта последовательность превращается в двоичную запись данного числа. Например, 19 надо представить в двоичной форме: 19: 2 “=” 9 + 1; 9: 2 “=” 4 + 1; 4: 2 “=” 2 + 0; 2: 2 “=” 1 + 0, следовательно, 1910 = 100112. Приведем еще примеры перевода чисел из десятичной в двоичную систему счисления: 9110=10110112; 11710=11101012; 6560010=100000000010000002. Для перевода числа из двоичной системы в десятичную надо подставить цифры в формулу для общего представления числа и выполнить все необходимые действия в десятичной системе счисления. Эта формула имеет вид:

Х(2) = хn-1 2n-1 + xn-2 2n-2 + … + x1 21 + x0 20,

где xi = 0 или 1; n – число разрядов (позиций) в целой части числа. Например, 1710 = 100112, 100112 = 1 × 24 + 0 × 23 + 0 × 22 + 0 × 21 + 1 × 20 = 16 + 1 = 1710.

Для представления служебной информации – программ при подготовке задач к решению на ЭВМ – применяют вспомогательные системы счисления – восьмеричную и шестнадцатеричную. Обе системы используются для более короткой и удобной записи двоичных кодов. Это связано с понятием байта – 8 двоичных разрядов или 2 шестнадцатеричных. Например, 197210 = 111101101002 = 36648 = 7В416.

Для кодирования действительных чисел их предварительно преобразуют в форму представления чисел с плавающей точкой или нормализованную форму. В нормальной форме число представляется в виде произведения X = m×qp, где m – мантисса числа; q – основание системы счисления; p – порядок. Например, для числа 3,1415926 = 0,31415926 × 101 мантисса равна 0,31415926, а порядок равен 1. Для задания числа в нормальной форме требуется задать знаки мантиссы и порядка, их модули в q-ичном коде, а также основание системы счисления. Нормальная форма представления чисел неоднозначна, ибо взаимное изменений m и p приводит к плаванию точки (запятой). Например, десятичное число 73,28 в нормальной форме может быть записано в следующих вариантах:

73,28 = 73,28× 100 = 7,328 × 101 = 0,7328× 102 = 0,07328 × 103 = …

Для однозначности представления чисел в ЭВМ используется нормальная нормализованная форма, в которой положение точки всегда задается перед значащей цифрой мантиссы. Любое число в таком формате имеет вид ±ХХХ.ХХХХ× 10± х, где Х – любая десятичная цифра, а ± означает знак + или -. Количество цифр в целой и дробной частях мантиссы и в порядке может быть любым. На знак числа и знак порядка требуется 2 бита. Если остальные 6 бит байта отдать под порядок (24 = 64), то получается достаточно большой диапазон по порядкам. При однобайтном порядке диапазон изменения чисел составляет от 2-128 до 2127 или приблизительно от 10-38 до 1038. Для большинства случаев этого бывает достаточно, так как на практике точность измерений обычно не превышает 10-8. Что касается мантиссы, то можно заметить, что чаще всего используются числа со сравнительно короткой мантиссой от 3 до 5 десятичных цифр и довольно редко – с мантиссами от 10 до 15 цифр. Для записи мантиссы берут 3 байта, при этом точность составляет 224 или 108. Таким образом, получается 4 байта вместе с байтом знаков и порядка, что согласуется с размером ячейки для длинных целых чисел. Действительные числа с длинной мантиссой до 15 значащих цифр обеспечиваются удвоением количества байтов, отводимых под число, причем 4 дополнительных байта отдаются целиком мантиссе. Этим способом достигается так называемая двойная точность вычислений.

 

Кодирование графической и

Звуковой информации в ЭВМ

Кодирование графической информации имеет свои особенности [6, c. 24 – 25]. Если рассмотреть с помощью увеличительного стекла черно-белое графическое изображение, то можно увидеть, что оно состоит из мельчайших точек, образующих характерный узор, называемый растром. Поскольку линейные координаты и яркость каждой точки можно выразить с помощью целых чисел, то растровое кодирование позволяет использовать двоичный код для представления графических данных. Любой оттенок серого цвета (от белого до черного) можно закодировать восьмиразрядным двоичным числом из диапазона от 0 до 255. Кодирование цветных графических изображений осуществляется аналогично, но технология кодирования зависит от количества двоичных разрядов, используемых для кодирования цвета каждой точки. При кодировании информации о цвете с помощью 8 бит данных можно передать только 256 цветовых оттенков. Такой метод кодирования называется индексным. Но этого количества оттенков совершенно недостаточно, чтобы передать весь диапазон цветов, доступных человеческому глазу. Режим представления цветной графики с использованием 24 двоичных разрядов называется полноцветным и обеспечивает однозначное определение 16,5 млн различных цветов, что близко к чувствительности человеческого глаза.

Приемы и методы кодирования звуковой информации пришли в вычислительную технику наиболее поздно [6, c. 26]. Множество различных компаний разработали свои корпоративные стандарты для кодирования звуковой информации двоичным кодом. В настоящее время можно выделить два основных направления в этой области. Метод FM (Frequency Modulation) основан на том, что теоретически любой сложный звук можно разложить на последовательность простейших гармонических сигналов разных частот, каждый из которых представляет собой правильную синусоиду, а следовательно, может быть описан числовыми параметрами, т.е. кодом. Звуковые сигналы имеют непрерывный спектр, но их представление в машине возможно в виде дискретных цифровых сигналов. При таких преобразованиях неизбежны потери информации. Качество звукозаписи обычно получается не вполне удовлетворительным и имеет окрас, характерный для электронной музыки. Метод таблично-волнового (Wave-Table) синтеза лучше соответствует современному уровню развития техники. Примерно принцип работы состоит в следующем. Где-то в заранее подготовленных таблицах хранятся образцы звуков для множества различных музыкальных инструментов и не только для них. Числовые коды выражают тип инструмента, номер его модели, высоту тона, продолжительность и интенсивность звука, динамику его изменения и т.п. Поскольку в качестве образцов используются “реальные” звуки, то качество звука получается очень высоким, приближается к звучанию реальных музыкальных инструментов.

 


Заключение

 

Информацию по-разному измеряют в технике, в быту и в теории информации.

Измерение информации в быту произвести очень сложно. Рассмотрим пример. Пусть Вы получили какое-то сообщение. В этом сообщении содержится какое-то количество информации. Как оценить, сколько информации Вы получили? Другими словами как измерить информацию? Разные люди, получившие одно и то же сообщение, по-разному оценивают количество информации, содержащееся в нем. Это происходит оттого, что знания людей об этих событиях до получения сообщения были различными. Те, кто знал мало, сочтут, что они получили много информации. Те, кто знал больше, сочтут, что они не получили информации вовсе. Таким образом, количество информации в сообщении зависит от того, насколько ново это сообщение для получателя. При таком подходе непонятно, по каким критериям можно ввести единицу измерения информации. Следовательно, с точки зрения информации как новизны мы не можем оценить количество информации, содержащейся в научном открытии, новом музыкальном стиле и т.п.

Измерение информации в технике. В технике используют способ определения количества информации, который основан на подсчете числа символов в сообщении, т.е. связан с длиной сообщения и не учитывает содержания. Длина сообщения зависит от числа различных символов, употребляемых для записи сообщения. Например, слово “мир” в русском алфавите записывается тремя знаками, в английском – пятью (“peace”), а в КОИ-8 – 24 битами (111011011110100111110010). Каждый символ, как известно, кодируется 8-битным кодом. Но измерять с помощью бит неудобно, получаются громадные числа. Поэтому была введена более “крупная” единица измерения информации – байт. 1байт = 8 бит. Можно заметить, что при измерении в байтах подсчитать количество информации легче – оно совпадает с количеством символов в нем. Действительно, слово “мир” занимает 3 байта. Фраза “миру мир!” содержит 72 бита или 9 байт информации. Позднее были введены и более крупные единицы измерения информации в вычислительной технике, к которым все уже привыкли:

1 Кбайт (килобайт) = 210 байт = 1024 байт» 1 тыс. байт.

1 Мбайт (мегабайт) = 210 Кбайт = 220 байт» 1 млн. байт.

1 Гбайт (гигабайт) = 210 Мбайт = 230 байт» 1 млрд. байт

1 Тбайт (терабайт) = 210 Гбайт» 1012 байт.

Было введено понятие информационной емкости сообщения или информационного объема сообщения. “ Информационный объем сообщения – количество информации в сообщении, измеренное в битах, байтах или производных единицах (Кбайтах, Мбайтах и т.д.)” [1, c. 51].

Рассмотрим измерение информации в теории информации. В теории информации “ количеством информации называют числовую характеристику сигнала, не зависящую от его формы и содержания и характеризующую неопределенность, которая исчезает после получения сообщения в виде данного сигнала” [1, c. 51]. В этом случае количество информации зависит от вероятности получения сообщения о том или ином событии. Для абсолютно достоверного события (событие обязательно произойдет, поэтому его вероятность равна 1) количество вероятности в сообщении о нем равно 0. Чем невероятнее событие, тем большую информацию о нем несет сообщение. Лишь при равновероятных ответах ответ “да” или “нет” несет 1 бит информации.

Поясним все сказанное следующим примером [1, c. 50]. Пусть имеется колода из 32 игральных карт (от семерок до тузов). Задумывается одна из карт Необходимо, задавая вопросы, на которые будут даны ответы “да” или “нет”, угадать задуманную карту. Первый вопрос: “Задумана карта черной масти?” Ответ: “Нет”. Ответ уменьшает неопределенность вдвое и приносит отгадывающему 1 бит информации. Второй вопрос: “Задумана карта бубновой масти?” Ответ: “Да”. Это еще один бит информации, исходная неопределенность уменьшилась в 4 раза. Третий вопрос: “Задумана карта – картинка?” Ответ: “Нет”. Третий бит информации, первоначальная неопределенность уменьшилась в 8 раз. Четвертый вопрос: “Задуманная карта младше девятки?” Ответ: “Да”. Еще один бит информации, первоначальная неопределенность уменьшилась в 16 раз. Пятый вопрос: “Задумана восьмерка бубновая?” Ответ: “Нет”. Отгадывающий получил пятый бит информации, исходная неопределенность уменьшилась в 32 раза. Последний ответ позволяет с уверенность сказать, что была задумана бубновая семерка. Неопределенности не осталось.

Очень приближенно можно считать, что количество информации в сообщении о каком-то событии совпадает с количеством вопросов, которые необходимо задать. Чтобы получить ту же информацию, ответ на эти вопросы может быть лишь “да” или “нет”. Причем событие, о котором идет речь, должно иметь равновероятностные исходы (задуманной может оказаться любая из 32 карт – 32 равновероятностных исхода).

Приведенный пример иллюстрирует определение количества информации слишком упрощено. Из него ясно, что если оценивать информацию как снятую неопределенность, то количество информации в сообщении о каком-то событии зависит от вероятности свершения данного события. Научный подход к оценке сообщений был предложен в 1928 г. Р. Хартли. Расчетная формула имеет вид: I = log2 N или 2I = N, где N – количество равновероятностных событий (число возможных выборов), I – количество информации. Если N = 2 (выбор из двух возможностей), то I = 1 бит. Иногда формула Хартли записывается иначе. Так как наступление каждого из N возможных событий имеет одинаковую вероятность p = 1/N, то N = 1/p и формула имеет вид

I = log2 (1/p) = - log2 p.

Можно рассмотреть общий случай вычисления количества информации в сообщении об одном из N событий, но уже неравновероятных. Этот подход был предложен К. Шенноном в 1948 г. Поясним этот метод на следующем примере.

Пусть имеется строка текста, содержащая 1000 букв. Буква “о” в тексте встречается примерно 90 раз, буква “р” – 40 раз, буква “ф” – 2 раза, буква “а” – 200 раз. Средняя частота, с которой в рассматриваемом тексте встречается буква “а”, равна 0,2. Вероятность появления буквы “а” в тексте pa можно считать приблизительно равной 0,2. Аналогично, pp = 0,04, pф = 0,002, po = 0,09. Таким образом, появление выбранных букв в тексте неравновероятные события. Далее поступают согласно К.Шеннону. Берут логарифм по основанию 2 от величины 0,2 и называют то, что получилось, количеством информации, которую переносит одна единственная буква “а” в рассматриваемом тексте. Точно такие же операции проделывают для каждой буквы. Тогда количество собственной информации, переносимой одной буквой, равно

hi = log2 (1/pi) = - log2 pi, (*)

Значение Н достигает максимума при равновероятных событиях, т.е. при равенстве всех pi, pi = 1/N. В этом случае формула К.Шеннона превращается в формулу Хартли.

Рассмотрим, какое количество информации приходится на один знак (букву) в сообщениях, написанных на русском языке. Будем считать, что в алфавит входят 34 символа (33 буквы и пробел для разделения слов). Если бы появление всех символов было равновероятно, то pi =1/34 и количество информации, связанной с появлением каждого символа, hi = log2 (1/(1/34)) = log2 34» 5 бит. Но в словах русского языка различные буквы встречаются неодинаково часто. Если учесть вероятности появления каждой буквы и воспользоваться формулой (*), то получим Н» 4,72 бит. Но и эта оценка является еще сильно завышенной. Дело в том, что в словах русского языка отдельные буквы не являются независимыми. Кроме того, необходимо учитывать вероятности появления троек букв, четверок и т.д. При учете всех этих фактов получается следующая оценка количества информации, приходящейся на один знак в русскоязычном сообщении: Н» 1,2 бит. Для любого другого языка этот показатель будет другим. Например, для немецкого языка Н» 1,6 бит [4, c. 10-11].


 

Таблица 3



Поделиться:


Последнее изменение этой страницы: 2016-12-15; просмотров: 1674; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.153.110 (0.011 с.)