Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арифметические основы1.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
543.74 Кб
Скачать

7.1.3 Кодирование отрицательных чисел

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

Прямой код основан на представлении чисел в виде их абсолютного значения с кодом соответствующего знака: плюса или минуса.

Формула для образования прямого кода двоичного числа A = 0, а1 а2 а3… аn имеет вид:

(7. 4)

Пример 7.2. Записать числа A = +0,1101 и B = - 0,10101 в прямом коде.

Решение: Aпр= 0,1101; Bпр = 1-(-0,10101) = 1,10101.

Как следует из (7.1), нуль в прямом коде может быть положительным и отрицательным:

А = + 0,00 ... 00; Aпр = 0,00 ... 00.

A = - 0,00 ... 00; Aпр = 1,00 ... 00.

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

Формула для образования дополнительного кода двоичного числа А имеет вид:

(7. 4)

Пример 7.3. Записать число А = -0,101010 в дополнительном коде.

Решение: Адоп = 10+(-0,101010) = 1,010110.

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

Пример 3.4. Записать двоичное число А = -0,0101 в дополнительном коде.

Решение: Адоп = 1,1010+0,0001 = 1,1011.

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

Пример 3.4.Преобразовать дополнительный код Адоп = 1,1011 отрицательного числа в прямой код.

Решение: Апр = 1,0100+0,0001 = 1,0101.

В дополнительном коде отрицательный нуль отсутствует.

Ф ормула для образования обратного кода имеет вид:

(7. 4)

Пример 3.5. Записать число А =-0,100110 в обратном коде.

Решение: Аобр=10-0,100110 -0,000001 = 1,011001.

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

Как видно из (3.3), в обратном коде нуль изображается неоднозначно:

А = + 0,00... 00; Aобр = 0,00 ... 00.

A = - 0,00 ... 00; Aобр = 1,11 ...11.

Обратный код положительного числа полностью совпадает с изображением числа в прямом коде.

7.2 Представление символьной информации

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

Необходимо знать, что

  • алфавит компьютера включает в себя 256 символов;

  • каждый символ занимает 1 байт памяти.

Данные свойства символьного алфавита компьютера рассматривались при изучении алфавитного подхода к измерению информации: один символ из алфавита мощностью 256 несет 8 бит, или 1 байт, информации, потому что 256 = 28. Но поскольку всякая информация представляется в памяти ЭВМ в двоичном виде, следовательно, каждый символ представляется 8-разрядным двоичным кодом. Существует 256 всевозможных 8-разрядных комбинаций, составленных из двух цифр «0» и «1» (в комбинаторике это называется числом размещений из 2 по 8 и равно 28): от 00000000 до 11111111. Удобство побайтового кодирования символов очевидно, поскольку байт - наименьшая адресуемая единица памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов - это вполне достаточное количество для представления самой разнообразной символьной информации.

Для кодирования символов используется таблица кодировки. Таблица кодировки - это стандарт, ставящий в соответствие каждому символу алфавита свой порядковый номер. Наименьший номер - 0, наибольший - 255. Двоичный код символа - это его порядковый номер в двоичной системе счисления. Таким образом, таблица кодировки устанавливает связь между внешним символьным алфавитом компьютера и внутренним двоичным представлением.

Международным стандартом для персональных компьютеров стала таблица ASCII. На практике можно встретиться и с другой таблицей - КОИ-8 (Код Обмена Информацией), которая используется в глобальных компьютерных сетях, на ЭВМ, работающих под управлением операционной системы Unix, а также на компьютерах типа PDP.

Рассмотрим некоторые принципы организации кодовых таблиц на примере таблицы ASCII. Она делится на две части. Международным стандартом является первая половина таблицы, т. е. символы с номерами от 0 до 127. Сюда входят строчные и прописные буквы латинского алфавита, десятичные цифры, знаки препинания, всевозможные скобки, коммерческие и другие символы. Символы с номерами от 0 до 31 принято называть управляющими. Их функция - управление процессом вывода текста на экран или печать, подача звукового сигнала, разметка текста и т. п. Символ номер 32 - пробел, т. е. пустая позиция в тексте. Все остальные отражаются определенными знаками. При сортировке символьной информации учитывается лексикографический порядок в расположении букв латинского алфавита, а также цифр: символ, размещенный в таблице первым, считается старшим.

Вторая половина кодовой таблицы может иметь различные варианты. В первую очередь, она используется для размещения национальных алфавитов, отличных от латинского. Поскольку для кодировки русского алфавита - кириллицы, применяются разные варианты таблиц, то часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую. Таблица кодировки символов 128 - 255 называется кодовой страницей и каждый ее вариант имеет свой номер. Так, например, в MS-DOS используется кодовая страница номер 866, а в Windows - номер 1251.

Проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode. Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в два раза. Но зато такая кодовая таблица допускает включение до 65 536 символов. Ясно, что в нее можно внести всевозможные национальные алфавиты.

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

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

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

Информация в видеопамяти (видеоинформация) представляет собой совокупность кодов цвета каждого пикселя экрана. Отсюда следует, что вопрос о представлении изображения связан со способами кодирования цветов. Физический принцип получения разнообразных цветов на экране дисплея заключается в смешивании трех основных цветов: красного, зеленого и синего. Значит информация, заключенная в коде пикселя должна содержать сведения о том, какую интенсивность (яркость) имеет каждая составляющая в его цвете.

Рассмотрим связь между кодом цвета и составом смеси базовых цветов. В случае восьмицветной палитры используется трехбитовый код и каждый бит такого кода обозначает наличие (1) или отсутствие (0) соответствующего базового цвета. В следующей таблице приведены коды восьмицветной палитры.

Таблица - Двоичный код восьмицветной палитры

к

з

с

Цвет

0

0

0

Черный

0

0

1

Синий

0

1

0

Зеленый

0

1

1

Голубой

1

0

0

Красный

1

0

1

Розовый

1

1

0

Коричневый

1

1

1

Белый

.

Биты в таком коде распределены по принципу «КЗС», т. е. первый бит отвечает за красную составляющую, второй - за зеленую, третий - за синюю.

При программировании цветных изображений принято каждому цвету ставить в соответствие десятичный номер. Получить номер цвета очень просто. Для этого его двоичный код, рассматривая как целое двоичное число, следует перевести в десятичную систему счисления. Тогда, согласно таблице, номер черного цвета - 0, синего - 1, зеленого - 2 и т.д. Белый цвет имеет номер 7.

В таблица кодов 16-цветной палитры приведена те же восемь цветов, но имеющие два уровня яркости. Управляет яркостью дополнительный четвертый бит - бит интенсивности. В структуре 16-цветного кода «ИКЗС» И - бит интенсивности. Например, если в 8-цветной палитре код 100 обозначает красный цвет, то в 16-цветной палитре: 0100 - красный, 1100 - ярко-красный цвет; 0110 - коричневый, 1110 - ярко-коричневый (желтый).

Палитры большего размера получаются путем раздельного управления интенсивностью каждого из трех базовых цветов. Для этого в коде цвета под каждый базовый цвет выделяется более одного бита. Например, структура восьмибитового кода для палитры из 256 цветов такая: «КККЗЗЗСС», т.е. по 3 бита кодируют красную и зеленую составляющие и 2 бита - синюю. В результате красная и зеленая составляющие имеют по 8 (23) уровней интенсивности, а синяя - 4 (22). Всего: 8x8x4 = 256 цветов.

Связь между разрядностью кода цвета - b и количеством цветов - К (размером палитры) выражается формулой: К = 2b. В литературе по компьютерной графике величину b принято называть битовой глубиной цвета. Так называемая естественная палитра цветов получается при b = 24. Для такой битовой глубины палитра включает более 16 миллионов цветов.

Существует связь между величинами битовой глубины, разрешающей способностью графической сетки (размером растра) и объемом видеопамяти. Если обозначить минимальный объем видеопамяти в битах через Vm, разрешающую способность дисплея - М х N (М точек по горизонтали и N точек по вертикали), то связь между ними выразится формулой:

Vm= bxMxN.

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

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

Положение и форма графических примитивов задаются в системе графических координат, связанных с экраном. Обычно начало координат расположено в верхнем левом углу экрана. Сетка пикселей совпадает с координатной сеткой. Горизонтальная ось X направлена слева направо; вертикальная ось Y- сверху вниз.

Отрезок прямой линии однозначно определяется указанием координат его концов; окружность - координатами центра и радиусом; многоугольник - координатами его углов, закрашенная область - граничной линией и цветом закраски и пр.

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

Представление звука. Современные компьютеры «умеют» coxpанять и воспроизводить звук (речь, музыку и пр.). Звук, как и любая другая информация, представляется в памяти ЭВМ в форме двоичного кода.

Основной принцип кодирования звука, как и кодирования изображения, выражается словом «дискретизация».

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

Физическая природа звука - это колебания в определенном диапазоне частот, передаваемые звуковой волной через воздух (или другую упругую среду). Процесс преобразования звуковых волн в двоичный код в памяти компьютера:

Аудиоадаптер (звуковая плата) - специальное устройство, подключаемое к компьютеру, предназначенное для преобразования электрических колебаний звуковой частоты в числовой двоичный код при вводе звука и для обратного преобразования (из числового кода в электрические колебания) при воспроизведении звука.

В процессе записи звука аудиоадаптер с определенным периодом измеряет амплитуду электрического тока и заносит в регистр двоичный код полученной величины. Затем полученный код регистра переписывается в оперативную память компьютера. Качество компьютерного звука определяется характеристиками аудиоадаптера: частотой дискретизации и разрядностью.

Частота дискретизации - это количество измерений входного сигнала за 1 секунду. Частота измеряется в герцах (Гц). Одно измерение за 1 секунду соответствует частоте 1 Гц. 1000 измерений за 1 секунду - 1 килогерц (кГц). Характерные частоты дискретизации аудиоадаптеров: 11 кГц, 22 кГц, 44,1 кГц и др.

Разрядность регистра - число бит в регистре аудиоадаптера, разрядность определяет точность измерения входного сигнала. Чем больше разрядность, тем меньше погрешность каждого отдельного преобразования величины электрического сигнала в число и обратно. Если разрядность равна 8 (16), то при измерении входного сигнала может быть получено 28 = 256 (216 = 65536) различных значений. Очевидно, 16-разрядный аудиоадаптер точнее кодирует и воспроизводит звук, чем 8-разрядный.

Звуковой файл - файл, хранящий звуковую информацию в числовой двоичной форме. Как правило, информация в звуковых файлах подвергается сжатию.

17