Кодирование данных
Для автоматизации работы с данными, относящимися к различным типам, важно унифицировать их форму представления. Для этого используется кодирование – выражение данных одного типа через данные другого типа.
В ЭВМ принята двоичная система кодирования, т.к. с аппаратной точки зрения весьма просто реализовать электронные схемы с двумя устойчивыми противоположными состояниями: есть ток – 1, нет тока – 0. В двоичной системе исчисления знаки 0 и 1 называют битами.
С помощью 1 бита можно закодировать один из двух символов – либо 0, либо 1; из 2 бит можно составить один из четырех вариантов кодов: 00, 01, 10, 11. Двоичная последовательность цифр из N разрядов (бит) позволяет закодировать 2N различных значений.
Двоичное целое число занимает в памяти ЭВМ 16 или 32 двоичных разряда (бита). Это зависит от длины числа и способа объявления переменной. Поля памяти компьютера имеют специальные названия: 8 бит называют байтом, 16 бит – словом, 32 бита – двойное слово, 1024 байта – лист (Кбайт).
В прямом коде знак числа записывается в старшем бите 1-го байта: 1 – отрицательное число, 0 – абсолютная величина. Двоичное число записывается с 0 бита, оставшиеся биты заполняются нулями.
Наиболее часто для записи отрицательных чисел используют дополнительный код. Использование этого кода позволяет упростить аппаратную реализацию операции вычитание, которая заменяется операцией сложения уменьшаемого, представленного в прямом коде, и вычитаемого, представленного в дополнительном коде. Дополнительный код получается из прямого путем инвертирования каждого бита и затем добавления единицы к младшему биту числа:
-95(10) = -1011111(2) – число в двоичной системе счисления;
00000000 01011111 – двоичное число без знака в 2 байта;
11111111 10100001 – двоичное число в дополнительном коде.
Для представления символьной информации в компьютерах используется 8-разрядный код ASCII (American Standard Code for Information Interchange – стандартный код информационного обмена США). Код ASCII ставит в соответствие каждому символу уникальную комбинацию из 8 бит. Поскольку значащих бит всего 8, то таких комбинаций будет 28, т.е. 256.
В данной системе закреплены две таблицы кодирования – базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, содержит коды управляющих символов (от 0 до 32) и символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Расширенная таблица относится к символам с номерами от 128 до 255 и содержат коды символов национальных алфавитов.
Представление графических данных в двоичном коде
Существует два способа представления графической информации:
-
Векторная графика – графические объекты создаются как совокупности линий, векторов и точек (хранятся в памяти компьютер в виде математических формул и числовых параметров).
-
Растровая графика – графические объекты формируются в виде множества точек (пикселей) разных цветов и яркостей, распределенных по строкам и столбцам.
Растровое кодирование позволяет использовать двоичный код для представления графики, т.к. линейные координаты и яркость каждой точки можно выразить с помощью целых чисел. Для кодирования цветных изображений применяется принцип декомпозиции произвольного цвета на основные цвета: красный (Red), зеленый (Green) и синий (Blue). Такая система кодирования называется RGB (по первым буквам названий основных цветов).
Если для кодирования яркости каждой точки использовать по одному байту на каждый из трех цветов (всего 24 бита), то система обеспечит представление 224 = 16,7 млн. распознаваемых цветов, что близко цветовосприятию человеческого зрения. Такой режим представления цветной графики называется True Color.