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

Автор работы: Пользователь скрыл имя, 20 Января 2013 в 22:17, реферат

Описание работы

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

Содержание работы

Кодирование информации……………………………………………………………………………………..….. стр. 3
Способы кодирования информации………………………………………………………………….………. стр. 4
Кодирование числовой информации…………………………………………………………….………..… стр. 4
Кодирование символьной (текстовой) информации……..……………………………………….… стр. 8
Кодирование графической информации…………………………………………………………………… стр. 10
Кодирование звуковой информации…………………………………………………………………………. стр. 13

Файлы: 1 файл

Кодирование.docx

— 444.09 Кб (Скачать файл)

 

 

Отрицательные числа 

Перейдем теперь к вопросу  представления отрицательных чисел. Из записи в двоичной системе счисления  равенства (- 1) + 1 = 0 легко найти, какой вид должно иметь неизвестное нам пока двоичное представление xxxxxxxx числа - 1:

    xxxxxxxx + 00000001 = 00000000     

Ясно, что на месте символов xxxxxxxx должно быть расположено число 11111111. Правильным результатом при этом, конечно, следовало бы считать 100000000, а не 00000000, но ведь мы имеем дело с типом byte и, так как результат обязан разместиться в байте, единица <<исчезает>>.

Итак, число - 1 должно кодироваться как 11111111. Дальнейшее уже совсем просто: для получения - 2 нужно - 1 уменьшить  на единицу, что даст 11111110; число - 3 представляется как 11111101 и т.д.

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

Легко видеть, что при этом самым маленьким отрицательным  числом, которое принадлежит типу byte, является число - 128 (двоичное представление 10000000), а самым большим - число 127 (представление 01111111). Все представимыe числа (а их 256) в данном случае могут быть получены как пересечение двух множеств: множества Z всех целых чисел и отрезка [ - 128; 127 ].

Интересным является следующее  наблюдение: если число 01111111 увеличить  на единицу, то получится 10000000, что означает следующее:

127 + 1 = - 128 !!!

Итак, множество элементов  типа byte можно представлять в виде свернутого в кольцо отрезка  
[ - 128; 127 ].

 

Шестнадцатеричная система счисления 

Шестнадцатеричная система  счисления – это система счисления, в которой основанием является число 16. Любое целое положительное  число представляется в этой системе  с помощью степеней числа 16 в виде:

ак*16кк-1*16к-1+…+а1*1610*160     (3),

где записью целого положительного числа является последовательность коэффициентов ак, ак-1, …, а1, а0 из представления (3).

Например:

31210=25610+4810+810=1*162+3*161+8*160=13816

Для того, чтобы представление числа в шестнадцатеричной системе было однозначным, значения коэффициентов при степенях числа 16 должны быть целыми числами от 0 до 15. Если значение коэффициента взять равным 16, то умножение какой-либо степени числа 16 на этот коэффициент дает следующую степень числа 16: 16*16к=16к+1; 26*16к=(16+9)*16к=16к+1+9*16к.

В качестве коэффициентов  для записи чисел в шестнадцатеричной  системе берутся шестнадцать  символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.Они называются шестнадцатеричными цифрами. Введение шестнадцатеричных цифр A, B, C, D, E, F является необходимым, т.к. при использовании в качестве коэффициентов в записи шестнадцатеричных чисел 10, 11, …, 15 появляется неоднозначность в их прочтении.

Применение шестнадцатеричной  системы счисления в информатике  удобно в связи с тем, что содержимое одного байта можно записать двумя  шестнадцатеричными цифрами. Действительно, для записи любой шестнадцатеричной  цифры достаточно четырех битов. Максимальная шестнадцатеричная цифра  F=1510 имеет двоичный код 1111. Один байт  - это 8 битов, которые можно разделить на две части: четыре младших бита с номерами от 0 до 3 и четыре старших бита с номерами от 4.

 

 

 

 

 

 

 

Таблица кодирования  чисел 

десятичная

шестнадцатеричная

двоичная

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111


 

 

 

 

 

 

 

 

 

 

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

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

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

Попробуем подсчитать наиболее короткую длину такой комбинации с точки зрения человека, заинтересованного  в использовании лишь одного естественного  алфавита – скажем, английского: 26 букв следует умножить на 2 (прописные  и строчные) – итого 52; 10 цифр; будем  считать, 10 знаков препинания; 10 разделительных знаков (три вида скобок, пробел и  др.); знаки привычных математических действий, несколько специальных  символов (типа #, $, & и др.) – итого ~100. Точный подсчет здесь не нужен, поскольку нам предстоит решить простейшую задачу: имея, скажем, равномерный код из групп по N двоичных знаков, сколько можно образовать разных кодовых комбинаций. Ответ очевиден К=2N. Итак, при N=6К=64 – явно мало, при N=7К=128 – вполне достаточно.

Однако, для кодирования  двух естественных алфавитов (плюс все  отмеченные выше знаки) и этого недостаточно. Минимально достаточное значение N в этом случае 8; имея 256 комбинаций двоичных символов, вполне можно решить указанную задачу. Поскольку 8 двоичных символов получили название 1 байта, то говорят о системе «байтового» кодирования.

Наиболее распространены две такие системы: EBCDIC (Extended Binary Coded Decimal Interchange Code) и ASCII (American Standard Information Interchange). Первая исторически тяготеет к «большим» машинам, вторая чаще используется на мини- и микро-ЭВМ (включая ПК). Познакомимся подробнее именно с ASCII, созданной в 1963г.

В своей первоначальной версии – это система семибитного кодирования. Она ограничивалась одним естественным алфавитом (английским), цифрами и набором различных символов, включая «символы пишущей машинки» (привычные знаки препинания, знаки математических действий и др.) и «управляющие символы». Примеры последних легко найти на клавиатуре компьютера: для микро-ЭВМ, например, DEL – знак удаления символа.

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

В СССР в этой области действовала  система кодирования КОИ-7.

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

Международный стандарт, в  котором предусмотрена кодировка  символов русского алфавита, носит  название ISO (International Standard Organization – Международный институт стандартизации). На практике данная кодировка используется редко. Кодировка символов русского языка, известная как кодировка Windows-1251, была введена «извне» компанией Microsoft, но учитывая широкое распространение операционных систем и других продуктов этой компании в России она нашла широкое распространение в России. Эта кодировка используется на большинстве локальных компьютеров, работающих на платформе Windows.

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

Таблица 1.  Таблица  кодов ASCII (расширенная)


 

 

 

 

 

 

 

 

 

 

 

Знакам алфавита ПЭВМ ставятся в соответствие шестнадцатеричные числа по правилу: первая – номер столбца, вторая – номер строки. Например, английская «А» имеет код 41, русская «и» - код 8А.

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

При переходе на 16-битную кодировку Unicode, допускающую 65536 кодовых комбинаций стало возможным кодирование всех символов расширенного алфавита.

 

 

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

Под графической информацией  можно понимать рисунок, чертеж, фотографию, изображения на экране телевизора или  в кинозале и т.д. Для обсуждения общих принципов кодирования  графической информации в качестве конкретного, достаточно общего случая графического объекта выберем изображение на экране телевизора. Это изображение состоит из некоторого количества горизонтальных линий – строк. А каждая строка в свою очередь состоит из элементарных мельчайших единиц изображения – точек, которые принято называть пикселями (picsel – PICture’S Element – элемент картинки). Весь массив элементарных единиц изображения называют растром (лат. Rastrum – грабли). Степень четкости изображения зависит от количества строк на весь экран и количества точек в строке, которые представляют разрешающую способность экрана или просто разрешение. Чем больше строк и точек, тем четче и лучше изображение. Достаточно хорошим считается разрешение 640х480, то есть 640 точек на строку и 480 строчек на экран.

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


 

 

 

Кодирование растровых изображений

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

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

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


Для четырех  цветного – 2 бита.

Для 8 цветов необходимо – 3 бита.

Для 16 цветов – 4 бита.

Для 256 цветов – 8 бит (1 байт).

 

 

 

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

Для представления цвета  в виде числового кода используются две обратных друг другу цветовые модели: RGB или CMYK.

Модель RGB используется в телевизорах, мониторах, проекторах, сканерах, цифровых фотоаппаратах… Основные цвета в этой модели: красный (Red), зеленый (Green), синий (Blue). Цветовая модель CMYK используется в полиграфии при формировании изображений, предназначенных для печати на бумаге.

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

R

G

B

Цвет

1

1

1

белый

1

1

0

желтый

1

0

1

пурпурный

1

0

0

красный

0

1

1

голубой

0

1

0

зеленый

0

0

1

синий

0

0

0

черный


 

На практике же, для сохранения информации о цвете каждой точки  цветного изображения в модели RGB обычно отводится 3 байта (т.е. 24 бита) - по 1 байту (т.е. по 8 бит) под значение цвета каждой составляющей. Таким образом, каждая RGB-составляющая может принимать значение в диапазоне от 0 до 255 (всего 28=256 значений), а каждая точка изображения, при такой системе кодирования может быть окрашена в один из 16 777 216 цветов. Такой набор цветов принято называть True Color (правдивые цвета), потому что человеческий глаз все равно не в состоянии различить большего разнообразия.

Информация о работе Кодирование информации в вычислительных машинах