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

Представление и кодирование информации.

Цель: Сформировать представление о кодировании разных видов информации в компьютере.

Код (от лат. codex) – система условных знаков (символов) для представления различной информации.

Код характеризуется:

- длиной (числом позиций в коде);

- структурой (порядком расположения в коде символов).

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

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

В вычислительных машинах применяются две формы представления двоичных чисел:

- естественная форма, или форма с фиксированной запятой (точкой);

- нормальная форма, или форма с плавающей запятой (точкой).

Представление целых чисел

Целые числа могут представляться без знака или со знаком и хранятся в памяти компьютера в формате с фиксированной запятой.

Целые числа без знака обычно занимают в памяти компьютера один или два байта (табл. 1).

Таблица 1

Диапазоны значений целых чисел без знака

Формат числа в байтах Диапазон
запись с порядком обычная запись
0 … 28 – 1 0 … 255
0 … 216 – 1 0 … 65535

Пример 1.

а) число 7210 = 10010002 в однобайтовом формате:

Номер разрядов
Биты числа

б) это же число в двубайтовом формате:

Номер разрядов
Биты числа

Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта (табл. 2).

Таблица 2

Диапазоны значений целых чисел со знаком

Формат числа в байтах Диапазон
запись с порядком обычная запись
-27 … 27 – 1 -128 … 127
-215 … 215 – 1 -32768 … 32767
-231 … 231 – 1 -2147483648 … 2147483647

Применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код и дополнительный код. В прямом коде старший (левый) разряд отводится для знака, а оставшиеся n-1 разрядов – для значащих цифр. Значение знакового разряда равно 0 для положительных чисел и 1 – для отрицательных чисел.

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

Алгоритм получения дополнительного кода отрицательного числа:

  1. Модуль числа записать в прямом n-разрядном двоичном коде.
  2. Получить обратный код инвертированием всех цифр двоичного кода числа: нули заменяются единицами, а единицы – нулями.
  3. К обратному коду прибавить единицу.

Пример 2.

Отрицательное число -127 записать в 8-разрядном компьютерном представлении.

Прямой код модуля числа: 01111111 (для 8-разрядного машинного слова)

Обратный код: 10000000

Дополнительный код: 10000001

Представление вещественных чисел.

Вещественные числа хранятся в формате с плавающей запятой. Любое вещественное число R можно представить в виде: Кодирование символьной информации - student2.ru , где m – мантисса числа, q – основание системы счисления, n – порядок числа (порядок определяет на сколько разрядов необходимо осуществить сдвиг относительно запятой). Если Кодирование символьной информации - student2.ru , то число называется нормализованным.

Примеры нормализованного представления вещественных чисел.

Пример 3.

а) десятичное число 123,45 можно представить следующим образом: 123,45=0,12345∙103.

б) двоичное число -101,01=-0,10101∙1011 (порядок 112=310).

Вещественные числа в компьютере представляются в следующих форматах: одинарном (32-разрядное нормализованное число со знаком), двойном (64-разрядное нормализованное число со знаком) и расширенном (позволяет хранить ненормализованные числа в виде 80-разрядного числа со знаком).

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

Символьная информация хранится в памяти компьютера в форме цифрового кода. Присвоение каждому символу конкретного кода – это вопрос соглашения, которое фиксируется в кодовой таблице.

Кодовая таблица ASCII (American Standard Code for Information Interchange) отводит на каждый символ один байт. С помощью этого кода можно закодировать 256 символов ( Кодирование символьной информации - student2.ru ).

Коды с 0 по 127 составляют международную часть кодовой таблицы (коды от 0 до 32 отведены функциональным клавишам; коды с 33 по 127 соответствуют символам английского алфавита, цифрам, знакам арифметических операций и знакам препинания).

Коды с 128 по 255 являются национальными (содержат коды национальных алфавитов и специальные символы).

В кодовой таблице каждому символу соответствует уникальный десятичный код от 0 до 255 и соответствующий ему двоичный код от 00000000 до 11111111.

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

В последнее время большое распространение получила универсальная система кодирования текстовых данных – Unicode. В данной системе на каждый символ отводится 2 байта. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65536 различных символов.

Пример 4.

Определить объем текстовой информации в сообщении на 40 страницах (на странице 40 строк по 80 символов в каждой) в кодировке ASCII.

Ответ: 125 Кбайт.

Наши рекомендации