Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ВСЕ ТЕМЫ ЗАКОНСПЕКТИРОВАТЬ.docx
Скачиваний:
16
Добавлен:
23.11.2019
Размер:
4.94 Mб
Скачать

Кодирование чисел

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

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

Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:

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

2)  полученный результат дополнить слева незначащими нулями до k разрядов

Пример

Получить внутреннее представление целого числа 1607 в 2-х байтовой ячейке. Переведем число в двоичную систему: 160710 = 110010001112. Внутреннее представление этого числа в ячейке будет следующим: 0000 0110 0100 0111.

Для записи внутреннего представления целого отрицательного числа (-N) необходимо:

1)  получить внутреннее представление положительного числа N;

2)  обратный код этого числа заменой 0 на 1 и 1 на 0;

3)  полученному числу прибавить 1

Пример

Получим внутреннее представление целого отрицательного числа -1607. Воспользуемся результатом предыдущего примера и запишем внутреннее представление положительного числа 1607: 0000 0110 0100 0111. Инвертированием получим обратный код: 1111 1001 1011 1000. Добавим единицу: 1111 1001 1011 1001 -- это и есть внутреннее двоичное представление числа -1607.

Формат с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления n в некоторой целой степени p, которую называют порядком: R = m * n p.

Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:

12.345 = 0.0012345 x 104 = 1234.5 x 10-2 = 0.12345 x 102

Чаще всего в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию: 0.1p <= m < 1p. Иначе говоря, мантисса меньше 1 и первая значащая цифра- не ноль (p - основание системы счисления).

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся), так для числа 12.345 в ячейке памяти, отведенной для хранения мантиссы, будет сохранено число 12345. Для однозначного восстановления исходного числа остается сохранить только его порядок, в данном примере- это 2

Кодирование текстовой информации

Множество символов, используемых при записи текста, называется алфавитом. Количество символов в алфавите называется его мощностью.

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

Кодовая таблица — это соответствие между набором знаков и их кодами, обычно разными числами..

Для хранения двоичного кода одного символа выделен 1 байт = 8 бит. Учитывая, что каждый бит принимает значение 0 или 1, количество их возможных сочетаний в байте равно 28 = 256. Значит, с помощью 1 байта можно получить 256 разных двоичных комбинаций и отобразить с их помощью 256 различных символов. Например, вы нажимаете на клавиатуре латинскую букву S. В этом случае в память компьютера записывается код 01010011. Для вывода буквы S на экран в компьютере происходит декодирование - по этому двоичному коду строится его изображение.

Для разных типов ЭВМ и операционных систем используются различные таблицы кодировки, отличающиеся порядком размещения символов алфавита в кодовой таблице. Международным стандартом на персональных компьютерах является таблица кодировки ASCII (American Standard Code for Information Interchange), в кодовой таблице которого зарезервировано 128  7-ми разрядных кодов для кодирования:

  • символов латинского алфавита

  • цифр

  • знаков препинания

  • математических символов

Добавление 8-го разряда позволяет увеличить   количество кодов  таблицы ASCII до 255. Коды от 128 до 255 представляют собой расширение таблицы ASCII. Эти коды в таблице ASCII  использованы для кодирования некоторых символов, отличающихся от латинского алфавита, и встречающихся в языках с письменностью, основанной на латинском алфавите, - немецком, французском, испанском и др. Кроме этого, часть кодов использована для кодирования символов псевдографики, которые можно использовать, например, для оформления в тексте различных рамок и текстовых таблиц.

Стандартными в этой таблице являются только первые 128 символов, т. е. символы с номерами от нуля (двоичный код 00000000) до 127 (01111111). Сюда входят буквы латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы.

Таблица кодов ASCII

Остальные 128 кодов, начиная со 128 (двоичный код 10000000) и кончая 255 (11111111), используются для кодировки букв национальных алфавитов, символов псевдографики и научных символов.

Принцип последовательного кодирования алфавита заключается в том, что в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений.

Пример

Для кодирования символов национальных алфавитов используется расширение кодовой таблицы ASCII,  то есть 8-ми разрядные коды от 128 до 255.

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

  • альтернативная кодовая таблица CP-866

  • международный стандарт ISO 8859

  • кодовая таблица фирмы Microsoft CP-1251 (кодировка Windows)

  • кодовая таблица, применяемая в ОС Unix  KOI 8-r

Кодирование графической информации

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

Растровые изображения представляют собой однослойную сетку точек, называемых пикселами (pixel, от англ. picture element). Код пиксела содержит информации о его цвете. Графическое изображение состоит из точек, образующих узор, которые называются растр.

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

Пример

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

Для кодирования цветных графических изображений применяется принцип декомпозиции произвольного цвета на свои составляющие. Составляющими являются три основных цвета красный(Red R), зеленый (Green G), синий(Blue B) Такая система кодирования получила названия RGB

Пример

Пиксел на цветном дисплее может иметь различную окраску, поэтому одного бита на пиксел недостаточно. Для кодирования 4-цветного изображения требуются два бита на пиксел, поскольку два бита могут принимать 4 различных состояния. Может использоваться, например, такой вариант кодировки цветов: 00 -- черный, 10 -- зеленый, 01 -- красный, 11 -- коричневый.

На RGB-мониторах все разнообразие цветов получается сочетанием базовых цветов -- красного (Red), зеленого (Green), синего (Blue), из которых можно получить 8 основных комбинаций:

R

G

B

цвет

0  

0  

0  

черный

0  

0  

1  

синий

0  

1  

0  

зеленый

0  

1  

1  

голубой

R

G

B

цвет

1  

0  

0  

красный

1  

0  

1  

розовый

1  

1  

0  

коричневый

1  

1  

1  

белый

Рассмотрим, сколько потребуется бит для отображения цветной точки: для 8 цветов — 3 бита; для 16 цветов — 4 бита; для 256 цветов — 8 битов (1 байт). В табл. показано кодирование цветовой палитры из 16 цветов. Разные цвета и их оттенки получаются за счет наличия или отсутствия трех основных цветов (красного, синего, зеленого) и их яркости. Каждая точка на экране кодируется с помощью 4 битов.

Таблица. Кодирование 16-пветной палитры

Цвет

Яркость

Красный

Зеленый

Синий

Черный

0

0

0

0

Синий

0

0

0

1

Зеленый

0

0

1

0

Голубой

0

0

1

1

Красный

0

1

0

0

Фиолетовый

0

1

0

1

Коричневый

0

1

1

0

Белый

0

1

1

1

Серый

1

0

0

0

Светло-синий

1

0

0

1

Светло-зеленый

1

0

1

0

Светло-голубой

1

0

1

1

Светло-красный

1

1

0

0

Светло-фиолетовый

1

1

0

1

Желтый

1

1

1

0

Ярко-белый

1

1

1

1

Количество различных цветов - К и количество битов для их кодировки - N связаны между собой простой формулой: 2N = К.

Если для кодирования градаций каждого цвета использовать 256 значений (8 бит), для кодирования точки необходимо 24 разряда. При этом система обеспечивает кодирование 16,5 млн. различных цветов, что близко к чувствительности человеческого глаза. Этот режим (24-разрядный) называется полноцветным (True Color).

У каждого основного цвета есть дополнительный, дополняющий его до белого. Дополнительными цветами являются: голубой(Cyan C), пурпурный(Magenta M), желтый (Yellow Y). В полиграфии используется в добавление к этим трем четвертая, черная(Black K). Данная система кодирования называется CMYK(черный цвет обозначается буквой К, B занята синим цветом). Для представления цветной графики в этой системе необходимо 32 бита. Такой режим тоже называется полноцветным.(True Color).

Кодирование 16 разрядами уменьшает диапазон кодируемых цветов и называется режимом High Color. Кодирование 8 битами дает 256 оттенков и называется индексным. Код каждой точки выражает не цвет сам по себе, а его номер (индекс). Качество изображения определяется разрешающей способностью экрана и глубиной цвета.

Объем видеопамяти вычисляется по формуле:

Vвидео = I * m * n,

где I - глубина цвета (бит),

m *n - разрешение (в точках).

Задача.

Определите объем видеопамяти для графического режима с разрешением 640 на 480 точек и глубиной цвета 24 бит на точку.

Решение:

Определим количество точек на экране.

S = m *n = 640 * 480 = 307 200 точек

Vвидео = 24 * 307 200 = 7 372 800 бит = 921 600 байт = 900 Кбайт

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

Кодирование звуковой информации

Звук - это колебания воздуха. Если преобразовать звук в электрический сигнал (например, с помощью микрофона), мы увидим плавно изменяющееся с течением времени напряжение. Звуковая волна с меняющейся амплитудой и частотой является аналоговым сигналом. Для компьютерной обработки такой -- аналоговый -- сигнал нужно каким-то образом преобразовать в в цифровую форму (последовательность двоичных чисел). Этим занимается аналого-цифровой преобразователь (АЦП). Для воспроизведения звука, записанного в цифровом виде цифроаналоговый преобразователь преобразовывает его в аналоговый сигнал.

Дискретизация звука

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

Этот процесс называется дискретизацией (или оцифровкой), а устройство, выполняющее его -- аналого-цифровым преобразователем (АЦП).

Для того чтобы воспроизвести закодированный таким образом звук, нужно выполнить обратное преобразование (для него служит цифро-аналоговый преобразователь -- ЦАП), а затем сгладить получившийся ступенчатый сигнал.

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

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

Характеристики качества звука:

1. "Глубина" кодирования звука - количество бит на один звуковой сигнал

Современные звуковые карты обеспечивают 16-битную "глубину" кодирования звука. Количество уровней (градаций амплитуды) можно рассчитать по формуле

N = 2I = 216 = 65 536 уровней сигнала

(градаций амплитуды)

2. Частота дискретизации – это количество измерений уровней сигнала за 1 секунду

Одно измерение в 1 секунду соответствует частоте 1 Гц

1000 измерений в 1 секунду - 1 кГц

Количество измерений может лежать в диапазоне от 8000 до 48 000 (8 кГц – 48 кГц)

8 кГц соответствует частоте радиотрансляции,

48 кГц – качеству звучания аудио- CD.

Ухо человека воспринимает звук в диапазоне от ~20 Гц до 20 кГц.

Опыт показывает, что точное соответствие цифрового сигнала аналоговому достигается, если частота дискретизации будет вдвое выше максимальной звуковой частоты, то есть составит не менее 40 кГц. На практике значения частоты дискретизации применяемые в звуковых системах, равны 44,1 кГц или 48 кГц. Чем больше частота дискретизации (количество измерений в единицу времени), тем качественнее звук

Контрольные вопросы

  1. Понятие кода и кодирования. Приведите примеры кода?

  2. Двоичный код?

  3. Каким образом можно вычислить разрядность двоичного кодирования и количество независимых кодируемых значений?

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

  5. Правило представления целого положительного числа N?

  6. Правило представления целого отрицательного числа N?

  7. Кодирование текстовой информации, кодовые таблицы, примеры кодовых таблиц?

  8. Кодирование графической информации, растровые изображения?

  9. Кодирование графической информации, векторные изображения?

  10. Каким образом связанно количество различных цветов  и количество битов для их кодировки?

  11. Как вычислить объем видеопамяти?

  12. Кодирование звуковой информации, понятие дискретизации?

  13. Характеристики качества звука?