- •Обработка данных
- •Вентили и триггеры
- •Другие методы хранения данных
- •Шестнадцатеричная система счисления
- •Основная память
- •Массовая память
- •Магнитные диски
- •Компакт-диски
- •Магнитная лента
- •Сохранение и считывание файлов
- •Представление числовых значений
- •Представление изображений
- •Представление целых чисел
- •Двоичный дополнительный код
- •Сложение чисел в двоичном дополнительном коде
- •Двоичная нотация с избытком
- •Наиболее распространенные типы цп
- •Интерфейс между цп и основной памятью
- •Машинные команды
- •Команды передачи данных
- •Арифметические и логические команды
- •Команды управления
- •Концепция хранимой программы
- •Представление машинных команд в виде битовых комбинаций
- •Машинный язык
- •Коды операций
- •Операнды
- •Пример программы
- •Сравнение производительности компьютеров
- •Пример выполнения программы
- •Программы и данные
- •Операции сдвига
- •Арифметические операции
- •Скорость передачи данных
- •Конструкция шины
- •Cisc- и risc-архитектура компьютеров
- •Конвейерная обработка
- •Многопроцессорные машины
- •Машинный язык
Представление изображений
Современные компьютерные приложения способны обрабатывать не только простейшие текстовые и цифровые данные. Помимо всего прочего, они позволяют работать с изображениями, а также с аудио- и видеоинформацией. В отличие от методов хранения символьной и числовой информации, способы представления данных в этих дополнительных форматах находятся еще на ранней стадии своего развития, а потому для них еще не существует общепризнанных стандартов.
Наиболее распространенные из существующих методов представления изображений можно разделить на две большие категории: растровые методы и векторные методы. При растровом методе изображение представляется как совокупность точек, называемых пикселями (pixel, сокращение от picture element — элемент изображения). Говоря упрощенно, изображение кодируется в виде длинных строк битов, которые представляют ряды пикселей в изображении. При этом каждый бит равен 0 или 1, в зависимости от того, является ли соответствующий пиксель черным или белым. Включение информации о цвете изображений лишь незначительно усложняет дело, поскольку в этом случае каждый пиксель представляется комбинацией битов, определяющей его цвет. При растровом методе полученную комбинацию битов часто называют битовой картой (bit map), подчеркивая тот факт, что данная комбинация битов представляет собой не более чем карту или схему исходного изображения.
Большинство периферийных устройств современных вычислительных машин, например факсимильные аппараты, видеокамеры или сканеры, преобразует цветные изображения в графические файлы с растровым форматом. Чаще всего эти устройства записывают цвет каждого пикселя, раскладывая его на три составляющие — красную, зеленую и синюю, соответствующие трем первичным цветам. Для передачи интенсивности каждой компоненты обычно используется один байт. Поэтому для представления каждого пикселя исходного изображения требуются три байта.
Аналогичный трехкомпонентный пиксельный подход к передаче графической информации используется и при выводе изображений на экраны мониторов современных компьютеров. Экраны этих устройств содержат десятки тысяч пикселей, каждый из которых состоит из трех компонентов (красного, зеленого и синего), что можно заметить даже невооруженным глазом, если внимательно посмотреть на экран. (Можно также воспользоваться увеличительным стеклом.)
Формат "три байта на пиксель" означает, что для хранения изображения, в котором 1280 рядов по 1024 пикселя (фотография обычного размера), потребуется несколько мегабайт памяти, что существенно превышает размер стандартной дискеты. Одним из недостатков растровых методов является трудность пропорционального изменения размеров изображения до произвольно выбранного значения. В сущности, единственный способ увеличить изображение — это увеличить сами пиксели. Однако это приводит к появлению зернистости, что также часто встречается и при фотографировании на пленку. Векторные методы позволяют избежать проблем масштабирования, характерных для растровых методов. В этом случае изображение представляется в виде совокупности линий и кривых. Вместо того чтобы заставлять устройство воспроизводить заданную конфигурацию пикселей, составляющих изображение, ему передается подробное описание того, как расположены образующие изображение линии и кривые. На основе этих данных устройство, в конечном счете, и создает готовое изображение. С помощью подобной технологии описываются различные шрифты, поддерживаемые современными принтерами и мониторами. Они позволяют изменять размер символов в широких пределах и по этой причине получили название масштабируемых шрифтов. Например, технология True Type, разработанная компаниями Microsoft и Apple Computer, описывает способ отображения символов в тексте. Для подобных целей предназначена и технология PostScript (разработанная компанией Adobe Systems), позволяющая описывать способ отображения символов, а также других, более общих графических данных. Векторные методы также широко применяются в автоматизированных системах проектирования (computer-aided design, CAD), которые отображают на экране мониторов чертежи сложных трехмерных объектов и предоставляют средства манипулирования ими. Однако векторная технология не позволяет достичь фотографического качества изображений объектов, как при использовании растровых методов. Именно поэтому в современных цифровых фотокамерах используются растровые методы представления изображения.
Двоичная система счисления
Представление дробей в двоичных кодах
Чтобы иметь возможность работать с дробями в двоичной системе счисления, мы применяем позиционную точку, подобную используемой в десятичных дробях. Цифры слева от точки представляют целую часть числа (мантиссу) и обрабатываются точно так, как целые числа, записанные в двоичной системе. Цифры справа представляют дробную часть и обрабатываются аналогично любым другим битам, за исключением того, что их позициям присвоены дробные весовые значения. Это означает, что первая цифровая позиция справа от точки имеет весовое значение 1/2, следующим позициям присваиваются весовые значения 1/4, 1/8 и т.д. Следует отметить, что описанный механизм является простым расширением изложенного выше правила — каждой цифровой позиции присваивается весовое значение в два раза большее, чем последующей в направлении слева на право. Благодаря тому, что позиционным разрядам присваиваются указанные выше весовые значения, процедура расшифровки двоичного представления с точкой, отделяющей дробную часть от целой, аналогична той, которая применяется к целым числам. Значение в каждом разряде просто умножается на весовое значение, присвоенное его позиции в представлении числа, а затем полученные результаты суммируются. Чтобы пояснить эту процедуру нагляднее, на рис. 1.18 показан пример расшифровки двоичного числа 101.101, десятичное представление которого равно 5 5/8.
Рис 1.18 Расшифровка значения двоичного числа 101.101
В отношении операции сложения можно сказать, что для дробных двоичных чисел используются те же методы, что и для десятичных дробей. Таким образом, чтобы сложить два дробных двоичных числа, нужно их просто выровнять по положению точки и после этого применить процедуру сложения, описанную выше.