Файл: Способы представления данных в информационных системах (Представление и преобразование информации в ЭВМ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 03.07.2023

Просмотров: 170

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2. Для представления целых чисел со знаком старший (левый) разряд отводится под знак числа. Если число положительное, то в знаковый разряд записывается 0, если число отрицательное, то — 1.

Максимальное значение целого числа со знаком достигается в случае, когда в старшем разряде стоит ноль, а во всех остальных ячейках стоят единицы. Если под представление целого числа со знаком отведено N бит, то максимальное значение будет равно 2N-1-1. Поскольку количество возможных значений в N битах равно 2N-1, то в случае представления целых чисел со знаком количество отрицательных значений на единицу больше количества положительных значений. Такая ситуация связана с тем, что для представления нуля во всех ячейках стоят нули. Если же в знаковом разряде стоит единица, а во всех остальных разрядах нули, то это представление соответствует отрицательному (как правило, наименьшему) числу.

Пример. Запишем вид числа -58 в памяти компьютера в 8-разрядном представлении.

Представление в памяти компьютера целых положительных чисел совпадает с прямым кодом.

3. Другой способ представления целых чисел — дополнительный код.

Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:

записываем прямой код модуля числа;

инвертируем его (заменяем единицы нулями, нули единицами);

прибавляем к инверсному коду единицу.

Пример. Запишем дополнительный код числа -58 в 8-разрядном представлении.

1) Прямой код числа 58 есть 00111010; 2) инверсный (обратный) код 11000101; 3) дополнительный код 11000110.

4. При получении числа по его дополнительному коду необходимо определить его знак. Если число окажется положительным, то переводим его код в десятичную систему счисления.

В случае отрицательного числа необходимо выполнить следующий алгоритм:

вычитаем из кода числа 1;

инвертируем код;

переводим в десятичную систему счисления;

полученное число записываем со знаком минус.

Пример 1. Запишем число, соответствующее дополнительному коду 00110110.

Так как в старшем разряде данного числа нуль, то результат будет положительным. После перевода числа из двоичной системы счисления в десятичную получаем 54.

Глава 3. Представление символьной информации в ЭВМ

Символьная информация хранится и обрабатывается в компьютере в форме цифрового кода, то есть каждому символу ставится в соответствие отдельное бинарное слово-код. Так как многие типы информации содержат в значительном объеме цифровую информацию, то применяются две системы кодирования: символьной информации и десятичных чисел.


Необходимый набор символов, предусмотренный в конкретном компьютере, обычно включает в себя:

буквенно-цифровые знаки алфавита;

специальные знаки (пробел, скобки, знаки препинания и др.);

знаки операций.

Среди наборов символов наибольшее распространение получили знаки кода ASCII (ASCII – AmericanStandard Code for Information Interchange) - американский стандартный код обмена информацией.

ASCII - это семиразрядный код, обеспечивающий 128 различных битовых комбинаций. Стандартный знакогенератор современного персонального компьютера IBM PC имеет 8-битовую кодировку символов, состоящую из двух таблиц кодирования: базовой и расширенной. Базовая таблица построена по стандартуASCII и одинакова для всех IBM-совместимых компьютеров. Расширенная таблица относится к символам с номерами от 128 до 255 и может отличаться на компьютерах разного типа.

Для представления букв русского алфавита в рамках ASCII первоначально был разработан вариант кодировки – КОИ-7 (код обмена информацией 7-битный). Расположение символов во второй половине таблицы этой кодировки резко отличается от принятого фирмой IBM, что затрудняет использование зарубежного программного обеспечения на отечественных машинах.

В настоящее время находят широкое применение и другие виды кодировки. Так, в связи с массовым использованием операционных систем и других продуктов компании Microsoft в нашей стране нашла применение кодировка символов русского языка, известная как кодировка Windows-1251. Эта кодировка используется на ПК, работающих на платформе Windows.

Другая распространенная кодировка носит название КОИ-8 (код обмена информацией восьмизначный). Сегодня кодировка КОИ-8 имеет широкое распространение в компьютерных сетях на территории России и в некоторых службах российского сектора Интернета. В частности, в нашей стране она является стандартом в сообщениях электронной почты и телеконференций.

В последнее время все большее распространение получает универсальная система кодирования текстовых данных – UNICODE. В данной системе символы кодируются не восьмиразрядными двоичными числами, а 16-разрядными числами. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65536 различных символов – этого достаточно для размещения в одной таблице всех широко употребляемых языков.

3.1. Символьная информация в ЭВМ

В отличие от обычной словесной формы, принятой в письменном виде, символьная информация хранится и обрабатывается в памяти ЭВМ в форме цифрового кода. Например, можно обозначить каждую букву числами, соответствующими ее порядковому номеру в алфавите: А - 01, Б - 02, В - 03,..., Ю - 31, Я - 32. Точно так же можно договориться обозначать точку числом 33, запятую - 34 и т.д. Так как в устройствах автоматической обработки информации используются двоичные коды, то обозначения букв надо перевести в двоичную систему. Тогда буквы будут обозначаться следующим образом: А - 000001, Б - 000010, В - 000011, Г - 000100,..., Э - 011110, Ю - 011111, Я - 100000. При таком кодировании любое слово можно представить в виде последовательности кодовых групп, составленных из 0 и 1. Например, слово ЭВМ выглядит так: 011110000011001110.


При преобразовании символов (знаков) в цифровой код между множествами символов и кодов должно иметь место взаимнооднозначное соответствие, т.е. разным символам должны быть назначены разные цифровые коды, и наоборот. Это условие является единственным необходимым требованием при построении схемы преобразования символов в числа. Однако существует ряд практических соглашений, принимаемых при построении схемы преобразования исходя из соображений наглядности, эффективности, стандартизации. Например, какое бы число ни назначили коду для знака О (не следует путать с числом 0), знаку 1 удобно назначить число, на единицу большее, чем код О, и т.д. до знака 9. Аналогичная ситуация возникает и при кодировке букв алфавита: код для Б на единицу больше кода для А, а код для В на единицу больше кода для Б и т. д. Таким образом, из соображений наглядности и легкости запоминания целесообразно множества символов, упорядоченных по какому-либо признаку (например, лексико-графическому), кодировать также с помощью упорядоченной последовательности чисел.

Другим важным моментом при организации кодировки символьной информации является эффективное использование оперативной памяти ЭВМ. Так как общеупотребительными являются примерно 100 знаков (сюда помимо цифр, букв русского и английского алфавитов, знаков препинания, арифметических знаков входят знаки перевода строки, возврата каретки, возврата на шаг и т.п.), то для, взаимно-однозначного преобразования всех знаков в коды достаточно примерно сотни чисел. Значение этого выбора заключается в том, что для размещения числа из этого диапазона в оперативной памяти достаточно одного байта, а не машинного слова. Следовательно, при такой организации кодировки достигается существенная экономия объема памяти.

При назначении кодов знакам надо также учитывать соглашения, касающиеся стандартизации кодировки. Можно назначить знаковые коды по своему выбору, но тогда возникнут трудности, связанные с необходимостью обмена информацией с другими организациями, использующими кодировку, отличную от нашей. В настоящее время существует несколько широко распространенных схем кодирования. Например, код BCD (Binary-Coded Decimal) — двоично-десятичный код используется для представления чисел, при котором каждая десятичная цифра записывается своим четырехбитовым двоичным эквивалентом. Этот код может оказаться полезным, когда нужно преобразовать строку числовых знаков, например, строку из числовых знаков «2537» в число 2537, над которым затем будут-производиться арифметические действия. Расширением этого кода является EBCDIC (Extended Binary-Coded Decimal Interchange Code) -расширенный двоично-десятичный код обмена информацией, который преобразует как числовые, так и буквенные строки.


В ЭВМ типа PDP (или СМ) применяется код ASCII (AmericanJ Standard Code for Information Interchange) - американский стандартный код обмена информацией. Этот код генерируется некоторыми внешними устройствами (принтером, АЦПУ) и используется для обмена данными между ними и оперативной памятью ЭВМ. Например когда нажимаем на терминале клавишу G, то в результате этого действия код ASCII для символа G (1000111) передается в ЭВМ. A если надо этот символ распечатать на АЦПУ, то его код ASCII должен быть послан на печатающее устройство.

Отечественной версией кода ASCII является код КОИ-7 семибитовый код обмена информацией, который совпадает с ним, за исключением букв русского алфавита.

3.2. Графическая информация в ЭВМ

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

Графическая информация на экране монитора представляется в виде изображения, которое формируется из точек (пикселей).

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

Пусть имеется некоторый рисунок. Носителем этого рисунка может быть, например, бумага. Поместим данный рисунок в прямоугольную рамку. Выберем некоторый масштаб и проведем в рамке горизонтальные и вертикальные координатные линии. Таким образом, на рисунок будет нанесена координатная сетка, представляющая собой совокупность клеток.

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


В этом простейшем случае (черно-белое изображение без градаций серого цвета) каждая точка экрана может иметь лишь два состояния — «черная» или «белая», т.е. для хранения ее состояния необходим 1 бит.

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

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

Цветные изображения могут иметь различную глубину цвета (бит на точку: 4, 8, 16. 24). Каждый цвет можно рассматривать как возможное состояние точки, и тогда по формуле N = 21 может быть вычислено количество цветов, отображаемых на экране монитора.

Таблица 2.4. Количество отображаемых листов

Глубина цвета (I) Количество отображаемых цветов (N)

4 24 = 16

8 28 = 256

16 (High Color) 216 = 65536

24 (True Color) 224 = 16777216

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

Изображение может иметь различный размер, который определяется количеством точек по горизонтали и по вертикали. В современных персональных компьютерах обычно используются четыре основных размера изображения или разрешающих способностей экрана: 640*480, 800*600, 1024*768 и 1280*1024 точки.

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

Для того чтобы на экране монитора формировалось изображение, информация о каждой его точке (цвет точки) должна храниться в видеопамяти компьютера. Рассчитаем необходимый объем видеопамяти для наиболее распространенного в настоящее время графического режима (800*600 точек, 16 бит на точку).