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

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

Числа в машине (подразумевается цифровая вычислительная машина) хранятся в форме числа с фиксированной точкой (к ним относятся и целые числа) и числа с плавающей точкой (они представляются в форме мантиссы и порядка). Разрядность этих данных, как правило, кратна 8 – 8, 16, 32, 64 и т.д. Скорость выполнения операций с цифровыми данными принято давать в миллионах условных операций в секунду, например, Mflops (Million Floating Operations Per Second).

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

Все используемые способы представления текстовых данных сводятся к нумерации символов алфавита (или аналогичных, например, иероглифов). Способ нумерации называется кодировкой, а числа – кодами символов. Самая распостраненная система кодировки ASCII (American Standard Code for Information Interchange – Американский стандартный код обмена информацией) использует 7 бит на символ (128 символов). Поскольку код представляется байтовым числом (максимальное количество цифр 256), то оставшиеся 128 символов используются для кодировки символов национальных алфавитов. Для тех алфавитов, где этого количества недостаточно (например, для иероглифов), используется кодировка двумя байтами – DBCS (Double Byte Character Set). Попытка стандартизировать данное представление в форме двух байт – Unicode – пока не имеет полного успеха.

Для латиницы используются в основном две кодировки – ASCII и EBCDIC (Extended Binary Coded Decimal Information Code). Для представления русского варианта кириллицы существует три основных кодировки: альтернативная (cp866), cp1251 (используется в Windows) и KOI-8.

Часто в текстовом документе хранится информация о типе кодировки и языке. Это позволит в ряде случаев правильно воспроизвести документ на другой машине. При использовании ряда редакторов текста в документе кроме самих кодов символов находится информация о параметрах страниц, абзацев, системная, графическая, команды редакторов и прочая информация. Так хранит информацию, например, такой редактор, как WinWord.

Представление изображений

Все форматы представления изображений можно разделить на растровые и векторные.

В векторном формате изображение разделяется на примитивы – прямые линии, многоугольники, окружности и их сегменты, параметрические кривые, залитые определенным цветом и стилем области, набранные определенным шрифтом отрывки текста и др. Для пересекающихся примитивов задается порядок, в котором один из них перекрывает другой. Некоторые форматы, например, PostScript, позволяют задавать собственные примитивы. Такие форматы содержат собственный язык программирования, с помощью которого можно делать разные действия. Каждый примитив описывается своими геометрическими координатами. Точность их описания может быть разной. Координаты примитивов могут быть двух- и трехмерными, как и сами примитивы. В качестве примера двухмерных форматов могут выступать PostScript (формат масштабируемой печати), PDF (Portable Document Format), WMF (Windows MetaFile), PCL (Printer Control Language – поддерживается большинством современных принтеров). Примером векторного представления движущихся изображений является MacroMedia Flash. Преобразование, например, простой фотографии в векторный формат является непростой и далеко не однозначной задачей. Поэтому не всегда имеет смысл такое преобразование. Одним из основных достоинств данного формата является его компактность.

В растровом формате изображение представляется матрицей точек (пикселов – PICture ELement). Сама матрица называется растром. Для каждого пиксела определяется его яркость и цвет. Размер матрицы называется разрешением растрового изображения. Для печатающего устройства обычно задается количество точек (пикселов) на дюйм (DPI – Dots Per Inch). Для черно-белой печати обычно достаточно (300-600) DPI. Для цветной печати с высоким качеством используют разрешения вплоть до 2400 DPI. Вторым параметром растрового изображения является разрядность одного пиксела, которую называют цветовой глубиной. Для черно-белых картинок – это один бит. В цветных изображениях пиксел разбивается на три или четыре составляющих, соответствующих разным цветам спектра. При этом цветовая глубина достигает 48 (3*16) или 64 (4*16) бит. Яркостный диапазон современных мониторов не превышает 256 градаций на цвет, то есть при выводе на монитор можно ограничиться цветовой глубиной 24 (3*8). Наиболее широко используемые модели – это RGB (Red, Green, Blue), CMY (Cyan, Magenta, Yellow), CMYG (Cyan, Magenta, Yellow, Gray). RGB используется в цветных кинескопах и видеоадаптерах, CMYG – в цветной полиграфии. В различных графических форматах используется разный способ хранения пикселов. Два основных подхода – хранить числа, соответствующие пикселам, или хранить изображение в битовых плоскостях – вначале младшие биты, затем вторые, третьи и т.д. Обычно растровое изображение снабжается заголовком, в котором указывается разрешение, глубина цвета и, нередко, цветовая модель. Наиболее используемые форматы – BMP, PCX. Также используются упакованные форматы – JPEG, TIFF, GIFF и др.



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