Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект.docx
Скачиваний:
30
Добавлен:
19.05.2015
Размер:
1.8 Mб
Скачать

Кодирование данных

Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления. Для этого используется кодирование, то есть выражение данных одного типа через данные другого типа. Своя система кодирования существует и в вычислительной технике – она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по-английски – Binary Digit или сокращенно Bit (бит). Одним битом могут быть выражены два понятия: 0 или 1. Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:

00 01 10 11

Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид: N=2, где N количество независимых кодируемых значений; т — разрядность двоичного кодирования, принятая в данной системе.

Кодирование целых и вещественных чисел

Целые числа кодировать двоичным кодом просто – достаточно взять целое число и делить его пополам до тех пор, пока в остатке не образуется ноль или единица. Совокупность остатков от каждого деления, записанная справа налево вместе с последним остатком, и образует двоичный аналог десятичного числа:

19:2 = 9 + 1, 9:2 = 4+1, 4:2=2+0, 2:2 = 1 .

Таким образом, 1910 = 10112. Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65 535, а 24 разряда (бита) – уже более 16,5 миллионов разных значений. Для кодирования вещественных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму:

3,1415926 = 0,31415926 • 101 ;

300 000 = 0,3-10е;

123 456 789 = 0,123456789 • 1010.

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

Представление числовых данных в компьютере

Запись чисел с фиксированной точкой. При представлении в памяти компьютера чисел в естественной форме устанавливается фиксированная длина разрядной сетки. Точку (запятую) можно зафиксировать в начале, середине или конце разрядной сетки. При этом распределение разрядов между целой и дробной частями остается неизменным для любых чисел. В связи с этим существует другое название естественной формы представления чисел — с фиксированной точкой (запятой). В современных компьютерах эта форма используется для представления целых чисел. Обычно целые числа занимают в памяти компьютеров один, два или четыре байта. Один, как правило, старший бит отводится под знак числа. Знак положительного числа "+" кодируется нулем, а знак отрицательного числа "–" — единицей. Целые числа без знака в двухбайтовом формате могут принимать значения от 0 до 216–1 (до 65535), а со знаком – от –215 до +215–1, т.е. от –32768 до 32767. Запись чисел с плавающей точкой. Обработка очень больших и очень маленьких чисел производится в экспоненциальной форме. В этом случае положение запятой в записи числа может изменяться. Поэтому представление в памяти чисел в экспоненциальной форме называется представлением с плавающей точкой (запятой). Любое число А в экспоненциальной форме представляется в виде формулы:

А = mАqp,

где mA – мантисса числа;

q – основание системы счисления;

P – порядок числа.

Для однозначности представления чисел c плавающей точкой используется нормализованная форма, при которой мантисса отвечает условию:

q-1 ≤ |mА| < 1.

Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.

Кодирование текстовых данных

В традиционных кодировках для кодирования одного символа используется 8 бит. Легко подсчитать, что такой 8-разрядный код позволяет закодировать 256 различных символов. В качестве международного стандарта принята кодовая таблица ASCII (American Standard Code for Information Interchange), кодирующая первую половину символов с числовыми кодами от 0 до 127(рис. 1). Национальные стандарты кодировочных таблиц включают первую, международную часть кодовой таблицы без изменений, а во второй половине содержат коды национальных алфавитов, символы псевдографики и некоторые математические знаки. В настоящее время существуют пять различных кодировок кириллицы: КОИ-8-Р (рис. 2), Windows, MS-DOS, Macintosh и ISO, что вызывает трудности при работе с русскоязычными документами.

Рис. 1. Международная кодировка ASCII

Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ–8(Код обмена информацией, 8-битный). Эта кодировка применялась еще в 70-е гг.XX в. на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX. Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251(CP означает Code Page – кодовая страница) (рис. 3).

Рис. 2. Кодировка КОИ 8-Р

Рис. 3. Кодировка CP1251

От начала 90-х годов, времени господства операционной системы MS DOS, остается кодировка CP866. Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировкуMac. Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названиемISO 8859-5.