Кодирование информации в вычислительных машинах
Московский
Государственный Университет
Институт Экономики и Финансов
Кафедра «Финансы и Кредит»
Реферат по информатике на тему:
Кодирование информации в вычислительных машинах
Выполнила: студентка группы ЭЭФ 111
Худойназарова Карина
Проверил: преподаватель информатики
Бобырь А. Б.
Москва 2011
Содержание
Кодирование информации……………………………………………………
Способы кодирования информации……………………
Кодирование числовой информации……………………………………………………
Кодирование символьной (текстовой)
информации……..……………………………………….
Кодирование графической
информации……………………………………………………
Кодирование звуковой информации……………………………………………………
Кодирование информации
Код – это набор условных обозначений (или сигналов) для записи (или передачи) некоторых заранее определенных понятий.
Кодирование информации – это процесс формирования определенного представления информации. В более узком смысле под термином «кодирование» часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи ли обработки. Обычно каждый образ при кодировании (иногда говорят шифровке) представлен отдельным знаком.
Знак – это элемент конечного множества отличных друг от друга элементов.
Компьютер может обрабатывать
только информацию, представленную в
числовой форме. Вся другая информация
(например, звуки, изображения, показания
приборов и т.д.) для обработки
на компьютере должна быть преобразована
в числовую форму. Например, чтобы
перевести в числовую форму музыкальный
звук, можно через небольшие
Аналогичным образом на компьютере можно обрабатывать текстовую информацию. При вводе в компьютер каждая буква кодируется определенным числом, а при выводе на внешние устройства (экран или печать) для восприятия человеком по этим числам строятся изображения букв. Соответствие между набором букв и числами называется кодировкой символов.
Как правило, все числа в компьютере представляются с помощью нулей и единиц (а не десяти цифр, как это привычно для людей). Иными словами, компьютеры обычно работают в двоичной системе счисления, поскольку при этом устройства для их обработки получаются значительно более простыми. Ввод чисел в компьютер и вывод их для чтения человеком может осуществляться в привычной десятичной форме, а все необходимые преобразования выполняют программы, работающие на компьютере.
Единицы измерения информации:
1 байт = 8 бит
1 Кбайт = 1024 байт
1 Мбайт = 1024 Кбайт
1 Гбайт = 1024 Мбайт
1 Тбайт = 1024 Гбайт
Способы кодирования информации
Одна и та же информация может быть представлена (закодирована) в нескольких формах. С появлением компьютеров возникла необходимость кодирования всех видов информации, с которыми имеет дело и отдельный человек, и человечество в целом. Но решать задачу кодирования информации человечество начало задолго до появления компьютеров. Грандиозные достижения человечества – письменность и арифметика – есть не что иное, как система кодирования речи и числовой информации. Информация никогда не появляется в чистом виде, она всегда как-то представлена, как-то закодирована.
Двоичное кодирование - один из распространенных способов представления информации. В вычислительных машинах, в роботах и станках с числовым программным управлением, как правило, вся информация, с которой имеет дело устройство, кодируется в виде слов двоичного алфавита.
Кодирование числовой информации
Десятичная система счисления
Система счисления – это система записи чисел с помощью определенного набора цифр. В привычной для нас записи чисел – десятичной системе счисления – для записи чисел используется десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В этой системе любое целое неотрицательное число представляется с помощью степеней числа 10 (100=1; 101=10; 102=100; 103=1000; 104=10000; …). Число 10 является основанием этой системы счисления. Действительно, если число меньше 10, то записывается соответствующая ему одна цифра. Если число больше 10, но меньше 100, то оно представляется двумя цифрами: первая указывает количество полных десятков, содержащихся в числе, вторая – количество единиц в последнем неполном десятке.
Индекс внизу указывает систему счисления, в которое записано исходное число. Если число больше либо равно 100, но меньше 1000, то для его записи используется уже три цифры. Первая цифра – это количество полных сотен, содержащихся в числе, вторая цифра – количество полных десятков в последней неполной сотне, третья цифра – количество единиц в последнем неполном десятке.
При таком подходе для представления числа, большего либо равного 1000, но меньшего 10000, требуется уже четыре цифры. Первая – количество полных тысяч, второе – количество полных сотен, третье – количество полных десятков и четвертая – количество единиц.
Количество цифр, используемых
для десятичного представления
числа, на единицу больше, чем показатель
наибольшей степени 10, содержащейся в
числе. Это связано с тем, что
в представлении участвует
Таким образом, любое целое неотрицательное число в десятичной системе счисления представляется в виде:
ак+10к-ак-1-10к-1+…+а1-101+а0-
где каждый из коэффициентов ак, ак-1, … , а1, а0 является одной из цифр от 0 до 9, называемых десятичными цифрами, причем ак не равно нулю.
Общее количество цифр в десятичной записи числа равно количеству коэффициентов в представлении (1), т.е. к+1, где к – показатель наибольшей степени числа 10, содержащейся в исходном числе.
Например:
30072=30000+70+2=3*104+0*103+
832604=800000+30000+2000+600+
Двоичная система счисления
Двоичная система счисления – это система, в которой для записи чисел используются две цифры: 0 и 1. Основанием двоичной системы счисления является 2. Для получения записи числа в двоичной системе используется представление этого числа с помощью степеней числа 2.
Рассмотрим на примерах, как представляются числа с помощью степеней числа 2. Предварительно приведем таблицу значений степеней числа 2.
к |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
2к |
1 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
256 |
512 |
1024 |
Используя эту таблицу можно записать:
- =0*20
- =20=1*20
- =21=1*21+0*20
- =2+1=21+20=1*21+1*20
- =22=1*22+0*21+0*20
- =4+1=22+20=1*22+0*21+1*20
- =4+2=22+21=1*22+1*21+0*20
- =4+2+1=22+21+20=1*22+1*21+1*20
25 =16+8+1=24+23+20=1*24+1*23+0*2
В общем виде представление целого неотрицательного числа с помощью степеней двойки записывается так же, как и представление (1) с заменой числа 10 на число 2:
ак*2к+ак-1*2к-1+…+а1*21+а0*20
где каждый из коэффициентов а, ак-й, …, а1, а0 является одной из двух двоичных цифр 0 или 1, причем старший коэффициент ак=1 (т.е. двоичный код всегда начинается с 1). Запись числа в двоичной системе строится так же, как и в десятичной: первой записывается цифра ак, второй – цифра ак-1 и т.д., последней цифра а0.
Двоичный код числа – запись этого числа в двоичной системе счисления. Таким образом, двоичным кодом числа является последовательность коэффициентов ак, ак-1, …, а1, а0 из представления (2).Каждый разряд из последовательности может содержать только одну из двоичных цифр: 0 или 1, т.е. один бит информации (в дальнейшем под битом и разрядом будем понимать одно и то же). Это обеспечивает однозначность такого представления. Если какой-либо из коэффициентов больше 1, то происходит переход к следующей степени числа 2.
Например:
2*2к=1*2к=1; 3*2к=(2+1)*2к=1*2к+1+1*2к
Рассмотрим, как получается двоичное представление, например, числа 25. Число 25 представляется в виде суммы чисел из этой строки: 25=16+8+1. Каждое число берется только один раз – это обеспечивает однозначность двоичного кода. Затем выбранные числа заменяются равными им степенями двойки их верхней строчки таблицы: 16=24, 8=23, 1=20; 25=24+23+20. И, наконец, разряды, номера которых равны числам, выбранным из первой строчки таблицы, заполняются единицами, а остальные – нулями.
25=16+8+1=24+23+20=
=1*24 + 1*23 + 0*22 + 0*21 + 1*20
к 4 3 2 1 0
ак 1 1 0 0 1
Дробные числа в двоичной системе счисления
В любой системе счисления
нужно уметь представлять не только
целые числа, но и дробные. С математической
точки зрения это ординарная задача,
которая давно решена. Однако с
точки зрения компьютерной техники
это далеко не тривиальная проблема,
во многом связанная с архитектурой
компьютера. Ресурсы компьютеров
не бесконечны, и основной трудностью
является представление периодических
и непериодических дробей. Следовательно,
такие дроби следует округлять,
задавать класс точности участвующих
(и могущих появиться в
Запишем формулу представления дробного числа в позиционной системе счисления:
Ap = an-1·pn-1+an-2·pn-2 + ... + a1·p1+a0·p0 +a-1·p-1+a-2·p-2 + ... + a-m·p-m,
В случае десятичной системы счисления получим:
24,7310 = (2·101+4·100+7·10-1+3·10-2)10
Перевод дробного числа из двоичной системы счисления в десятичную производится по следующей схеме:
101101,1012 = (1·25+0·24+1·23+1·22+0·21+1·20
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
· Вначале переводится целая часть десятичной дроби в двоичную систему счисления;
· Затем дробная часть десятичной дроби умножается на основание двоичной системы счисления;
· В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления;
· Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.
Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.
Перевод целой части дает 20610=110011102 по ранее описанным алгоритмам; дробную часть умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
.116 • 2 = 0.232
.232 • 2 = 0.464
.464 • 2 = 0.928
.928 • 2 = 1.856
.856 • 2 = 1.612
.612 • 2 = 1.224
.224 • 2 = 0.448
.448 • 2 = 0.896
.896 • 2 =1.792
.792 • 2 = 1.584
и т.д.
Получим: 206,11610=11001110,00011100112
Таблицу степеней первых восьми отрицательных степеней двойки
Степень основания |
2 |
8 |
16 |
0 |
1 |
1 |
1 |
1 |
2 |
8 |
16 |
2 |
4 |
64 |
256 |
3 |
8 |
512 |
4096 |
4 |
16 |
4096 |
65536 |
5 |
32 |
32768 |
1048576 |
6 |
64 |
262144 |
16777216 |
7 |
128 |
2097152 |
268435456 |
8 |
256 |
16777216 |
4294967296 |
9 |
512 |
134217728 |
68719476736 |
10 |
1024 |
1073741824 |
1099511627776 |
11 |
2048 |
8589934552 |
17592186044416 |
12 |
4096 |
68719476736 |
281474976710656 |
13 |
8192 |
549755813888 |
4503599627370496 |
14 |
16384 |
4398046511104 |
72057594037927936 |
15 |
32768 |
35184372088832 |
1152921504606846976 |
16 |
65536 |
281474976710756 |
18446744073709551616 |
Отрицательные числа
Перейдем теперь к вопросу
представления отрицательных
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к+ак-1*16к-1+…+а1*161+а0*
где записью целого положительного числа является последовательность коэффициентов ак, ак-1, …, а1, а0 из представления (3).
Например:
31210=25610+4810+810=1*162+3*
Для того, чтобы представление числа в шестнадцатеричной системе было однозначным, значения коэффициентов при степенях числа 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 появляется неоднозначность в их прочтении.
Применение шестнадцатеричной
системы счисления в
Таблица кодирования чисел
десятичная |
шестнадцатеричная |
двоичная |
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 имеет широкое распространение в компьютерных сетях на территории России и в российском секторе Интернета.
Международный стандарт, в
котором предусмотрена
В табл.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 (правдивые цвета), потому что человеческий глаз все равно не в состоянии различить большего разнообразия.

- Кодирование информации. Кодирование чисел, текста, изображения и звука
- Кодирование информации. Современные методы кодирования
- Кодирование и сжатие аудио-информации
- Кодирование и шифрование
- Кодирование и шифрование
- Кодирование и шифрование
- Кодирование и шифрование информанции
- Кодирование информации
- Кодирование информации
- Кодирование информации
- Кодирование информации
- Кодирование информации
- Кодирование информации
- Кодирование информации (4)