Кодировка текстов и чисел

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

Чтобы создать нужное количество различных между собой кодов, необходимо выбрать соответствующую длину кода. Обозначим длину кода через n. Если код состоит из одного бита (n = 1), то понятно, что можно иметь только два разных кода — 0 и 1. Этого мало: ведь в тексте не две буквы.

Для увеличения количества кодов будем наращивать его длину. Для n = 2 число различных кодов составит 4: 00, 01, 10, 11. Для n = 3 получим 8 кодов: 000, 001, 010, 011, 100, 101, 110, 111.
Как видим, каждое увеличение длины кода на 1 бит приводит к удвоению количества различных кодов: к тем кодам, которые были получены на предыдущем этапе, один раз добавляем 0, второй раз — 1. Следовательно, количество различных между собой двоичных кодов k связана с длиной кода n следующим соотношением:

k = 2n

Назначение индивидуальных кодов текстовым символам закрепляется стандартами. Стандарты кодирования обеспечивают возможность осуществлять обмен электронными текстовыми документами между отдельными лицами, организациями, странами.

Первоосновой для всех стандартов является ASCII — American Standard Code for Information Interchange (американский стандартный код для обмена информацией). Коды ASCII имеют длину 8 бит.
Восьмерка битов называется байтом (от англ. Byte). Итак, 1 байт = 8 бит.

Длина в 8 бит позволяет образовать 28 = 256 различных кодов — от 00000000 до 11111111. Это позволяет назначить индивидуальные коды большим и маленьким буквам латинского и украинского алфавита, знаков препинания и цифрам, знакам математических операций и операций сравнения, кавычки и скобки и т.д..

Таблица кодов ASCII состоит из двух равных частей. Одна часть (с кодами от 00000000 до 01111111) является базовой, она содержит коды больших и маленьких букв латинского алфавита, цифр, и математических знаков и т.п.. Вторая часть — расширенная (с кодами от 10000000 до 11111111) — содержит коды больших и маленьких букв национального языка и другие символы, которые применяются в стране для внутреннего обмена информацией.

Для того чтобы включить в кодовую таблицу символы всех национальных алфавитов, в том числе и основные иероглифы, был разработан стандарт кодировки Unicode, опирающийся на двохбайтную кодировку, то есть на 16-битные коды. Это позволяет создать 65 536 кодов и закрепить их за разными символами. Система Unicode вбирает в себя ASCII-коды, т.е. сохраняет базовую таблицу ASCII.

Если текст содержит число, то каждая его цифра кодируется так же, как и буква слова. Однако над числами в тексте нельзя осуществлять математических операций. Для того чтобы компьютер воспринимал числовое значение и применял его так, как это принято в математике, числа кодируются иным образом.
Способ кодирования чисел зависит от знака числа (положительное или отрицательное), его типа (целое или дробное) и т.д.. Длина кода числа может быть различной: 1, 2, 4, 8 байт. Различные способы кодирования чисел позволяют оптимально использовать ресурсы компьютера при выполнении вычислений и обеспечивать их высокую точность.

Современный компьютер воспроизводит множество целых чисел в диапазоне от -1020 до +1020 и работает с многозначными дробными числами в диапазоне от ± 10-308 до ± 10+308.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.