Здавалка
Главная | Обратная связь

Кодирование целых и действительных чисел, текстовой информации



Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65 535, а 24 бита — уже более 16,5 миллионов разных значений.

Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму:

3,1415926 = 0,31415926- 101

300 000 = 0,3-106

123 456 789 = 0,123456789-1010

Первая часть числа называется мантиссой, а вторая — характеристикой. Большую часть из 80 бит отводят для хранения мантиссы (вместе со знаком) и некоторое фиксированное количество разрядов отводят для хранения характеристики (тоже со знаком).

Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Для кодирования 256 различных символов достаточно восьми двоичных разрядов или 1 байт информации. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например символ "§".

Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера.

Для английского языка, противоречия уже сняты. Институт стандартизации США (ANSI — American National Standard Institute) ввел в действие систему кодирования ASCII (American Standard Code for Information Interchange — стандартный код информационного обмена США). В системе ASCII закреплены две таблицы кодирования — базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255.

Аналогичные системы кодирования текстовых данных были разработаны и в других странах. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Только в России можно указать три действующих стандарта кодировки и еще два устаревших.

Так, например, кодировка символов русского языка, известная как кодировка Windaws-1251 используется на большинстве локальных компьютеров, работающих на платформе Windows.

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

Международный стандарт, в котором предусмотрена кодировка символов русского алфавита, носит название кодировки ISO (International Standard Organization — Международный институт стандартизации). На практике данная кодировка используется редко.

В связи с изобилием систем кодирования текстовых данных, действующих в России, была принята для практического применения Универсальная система кодирования текстовых данных UNICODE. Эта система, основана на 16-разрядном кодировании символов. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65 536 различных символов — этого поля достаточно для размещения в одной таблице символов большинства языков планеты. Эту кодировку поддерживает продукты Microsoft, начиная с Microsoft Office 97.

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

Пример. Определите мощность алфавита, с помощью которого записано сообщение, содержащее 8182 символа, если его объем составляет 5 Кбайт.

Решение. Переведите объем сообщения в биты: 1 Кбайт = 1024 байт. 5 Кбайт = 1024 * 5 = 5120 байт.

Для перевода в биты необходимо 5120 байт умножить на 8 (напоминаем, что 1 байт = 8 бит). Получим 40960 бит.

Количество бит, приходящееся на один символ алфавита = 40960 / 8182 = 5.

Количество символов алфавита N=2m = N=25 = 32. Мощность алфавита составит 5 бит.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.