Автор работы: Пользователь скрыл имя, 05 Ноября 2012 в 17:05, лекция
Фундаментальной чертой цивилизации является рост производства и по-требления информации во всех отраслях человеческой деятельности. Вся жизнь человека, так или иначе, связана с получением, накоплением, обработкой и пере-дачей информации. Практически в любой деятельности человека: в процессе чтения книг, просмотра телепередач, в разговоре – мы постоянно получаем и обрабатываем информацию.
Рассмотрим некоторые примеры кодов.
А ~ · - Б ~ - ··· В ~ · - - … Я ~ · - · - 0 ~ - - - - - … 9 ~ - - - - ·
А ~ 111 B ~ 112 C ~ 113 D ~ 121 … Z ~ 332 . (точка) ~ 333
Код Трисиме является примером, так называемого, равномерного кода, в котором все кодовые комбинации содержат одинаковое число знаков – в данном случае три.
Примером неравномерного кода является азбука Морзе.
Итак, кодирование – это процесс присвоения условного обозначения объектам.
Люди, общаясь друг с другом, используют систему кодирования понятий, которая называется языком. Языки делятся на естественные (разговорные), которые носят национальный характер, и формальные, к которым можно отнести языки специальной деятельности человека (например, язык формул в математике, язык флажков на флоте, язык нот в музыке и т.д.). В любом случае выбирается особый способ кодирования.
Конечный набор знаков (символов) любой природы, из которых конструируются сообщения, образуют алфавит некоторого языка.
Если говорить о дискретных сигналах, то их множество конечно, поэтому их принято кодировать буквами того или иного естественного языка или цифрами той или иной системы счисления.
Простейшим алфавитом, достаточным для кодирования информации, является алфавит, состоящий из двух символов – 0 и 1, который используется в компьютерной технике. Выбор столь простого алфавита объясняется тем, что информацию представленную в таком виде, легко моделировать, например, в виде электрических сигналов.
1 – есть ток, 0 - нет тока.
1 – есть поле (электрическое или магнитное) , 0 – нет поля.
Объем информации, необходимый для запоминания одного из двух этих символов, называется бит.
Т.е. бит- это минимально возможный объем информации, принятый за эталон.
Он соответствует
Оперативная память состоит из большого числа триггеров – электронных схем, состоящих из двух транзисторов, один из которых может быть открыт, а другой – закрыт. Одно состояние триггера называется нулем, а другое – единицей.
1 битом можно закодировать 21 = 2 символа: 0 или 1.
2 битами можно закодировать 22 = 4 символа: 00 01 10 11.
3 битами можно закодировать 23 = 8 символов: 000, 001, 010, 011, 100, 101, 110, 111.
И т.д.
10 битами можно закодировать 210 = 1024 символов.
n битами можно закодировать 2n символов.
Существуют различные способы записи чисел. Например, число 123 можно записать разными способами:
Системой счисления называется совокупность приемов записи и наименования чисел.
Системы счисления бывают позиционные и непозиционные по количеству символов, используемых для записи чисел. Примером непозиционной системы счисления является римская, где единица представлена символом I, двойка – II (два символа I), тройка – III (тремя символами I), четверка – IV (одним символом I и одним символом V), пятерка – одним символом V, число 20 – XX, число 100 – C, 50 – L, 500 – D, 1000 – M.
Позиционными системами счисления называются системы, которые используют для формирования чисел ограниченное количество символов, называемых цифрами, где величина числа зависит не только от набора цифр, но и от их позиции в числе.
Например, 125, 251, 521
Основанием позиционной системы счисления (q) называется количество цифр, используемое для записи чисел.
При q=10 система называется десятичной системой счисления, где цифрами являются символы 0,1,2,3,4,5,6,7,8,9.
При q=2 система называется двоичной, где цифрами являются символы 0, 1.
При q=8 система называется восьмеричной, где цифрами будут символы 0,1,2,3,4,5,6,7. и т.д.
10-я система счисления |
16-я система счисления |
8-я система счисления |
2-я система счисления |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
10 |
3 |
3 |
3 |
11 |
4 |
4 |
4 |
100 |
5 |
5 |
5 |
101 |
6 |
6 |
6 |
110 |
7 |
7 |
7 |
111 |
8 |
8 |
10 |
1000 |
9 |
9 |
11 |
1001 |
10 |
A |
12 |
1010 |
11 |
B |
13 |
1011 |
12 |
C |
14 |
1100 |
13 |
D |
15 |
1101 |
14 |
E |
16 |
1110 |
15 |
F |
17 |
1111 |
16 |
10 |
20 |
10000 |
8.1. Кодирование чисел.
Любое число с основанием q можно представить в виде полинома по степеням q.
Пример. Представим в виде полинома число 23,45 в 10-ной системе счисления.
23,45(10) = 2×101 +3×100+4×10-1+3×10-2
692(10) = 6×102 +9×101+2×100
Или число 1101(2)=1×23 +1×22+0×21+1×20 = 13(10)
8.1.1 Перевод целых чисел из 10-ой системы счисления в 2-ую
Перевод целых чисел из 10-ой
системы счисления в 2-ую произ
25(10) = 14×2+1 = 14×21+1×20 =
= (7×2+0) ×21+1×20 = 7×22+0×21+1×20=
= (3×2+1)×22+0×21+1×20 = 3×23+1×22+0×21+1×20=
=(1×2+1)×23+1×22+0×21+1×20 = 1×24+1×23+1×22+0×21+1×20 =11101(2)
8.1.2. Перевод дробной части числа из 10-й системы счисления в 2-ую
Перевод дробной части числа из 10-й системы счисления в 2-ую производится путем умножения дробной части исходного числа на основание результатной системы счисления и последовательного выписывания целых частей от деления.
Например, перевести число 0,825(10)
|
0, |
825 |
|
0,825 |
х |
2 |
= |
1, 625 |
|
1 |
625 |
0,625 |
х |
2 |
= |
1,25 |
|||
1 |
25 |
0,25 |
х |
2 |
= |
0,5 |
|||
0 |
5 |
0,5 |
х |
2 |
= |
1,0 |
|||
1 |
0 |
||||||||
0,825(10)= 0,1101(2) |
8.1.3. Перевод чисел из 2-ой системы счисления в 8-ую и 16-ую.
Число 8 = 23, а число 16= 24. Поэтому влево и вправо от запятой выделяются триады цифр в первом случае, и тетрады - во втором случае. Например, число 25,825(10) = 11101,1101 (2) перевести в 8-ую систему. Для этого двоичное число разбивается на триады и добавляется до триад незначащими нулями:
То же число для перевода в 16-ую систему необходимо разбить на тетрады и также добавить незначащие нули.
8.1.4.Перевод чисел из 8-ой и из 16-ой системы счисления в двоичную.
Просто представить каждую цифру в двоичном виде
45613,47(8)= 100 101 110 001 011 , 100 111(2)
С9А7541,59(16)= 1100 1001 1010 0111 0101 0100 0001 , 0101 1001(2)
8.2. Представление текстовых данных в двоичном виде.
В компьютере любой текст (документ, статья) рассматриваются как линейная последовательность символов. Если каждому символу алфавита сопоставить определенное целое число, например, порядковый номер, то с помощью 8 бит, т.е. одного байта, можно закодировать 28=256 различных символов. Сюда войдут все буквы английского, русского алфавита (строчные и прописные), знаки препинания, цифры, знаки арифметических операций, а также специальные символы (например, №, $, % и т.д.).
Например, буква русского алфавита имеют коды: А - 1000 0000, Б – 1000 0001, В – 1000 0010 и т.д. буква Я – 1001 1111.
Списки всех символов и соответствующих им двоичных кодов образуют так называемые кодовые таблицы.
Одной из наиболее часто используемых таблиц является кодовая таблица ASCII American Standart Code of Information Interchange (Стандартный американский код обмена информацией), разработанный в США в 1981 г. в Американском национальном институте стандартизации (ANSI), которая стала фактически общепринятым стандартом. В ASCII закреплены две таблицы кодирования: базовая и расширенная. В базовой таблице закреплены значения кодов от 0 до 127, а в расширенной от 128 до 255.
Коды 0 . . . 31 отведены под управляющие команды для принтеров, этим кодам не соответствуют символы (перевод строки, возврат каретки и т.д.).
Коды 32 . . . 127 закреплены за символами английского алфавита, знаков препинания, арифметических действий, некоторых вспомогательных операций.
Коды 128 . . . 255 закреплены за кодами национальных алфавитов.
Например, слово компьютер будет выглядеть в машинных кодах следующим образом:
К |
О |
М |
П |
Ь |
Ю |
Т |
Е |
Р |
10001010 |
10001110 |
10001100 |
10001111 |
10011100 |
10011110 |
10010010 |
10000101 |
10010000 |
Слово состоит из 9 символов, следовательно для его хранения требуется 9 байт памяти. Таким образом, текст «КОМПЬЮТЕР» будет представлен в вычислительной системе двоичным кодом
1000 1010 1000 1110 1000 1100 1000 1111 1001 1100 1001 1110 1001 0010 1000 0101 1001 00002
Позднее, при разработке ОС Windows фирма Microsoft разработала новую кодовую таблицу Windows - 1251, в которой базовая таблица осталась прежней, а расширенная изменилась. Также имеет кодировку символов русского языка, вследствие того, что продукты этой фирмы получили широкое распространение в России. Эта система кодирования работает в большинстве локальных компьютерах, работающих под ОС Windows.
Коду 1000 1010 в таблице ASCII соответствует буква К, а в таблице Windows – 1251 этому коду будет соответствовать символ Љ. Следовательно, текст, записанный одной программой в одной кодовой таблице, может быть прочтен с искажением другой программой, в которой используется другая кодовая таблица.
Встает вопрос, зачем нужны разные кодовые таблицы. Во многих странах Азии 256 кодов явно не хватало даже для кодирования одного алфавита. Но, если внимательно посмотреть на тексты, то мы увидим много разных шрифтов, гарнитур, подчеркиваний и так далее, то есть, различные элементы оформления, которые так же требуют кодирования.
В 1991 году производители программных продуктов (Microsoft, IBM, Apple) и стандартизаторы пришли к соглашению о выработке единого стандарта ISO 10646-1 (он же Unicode) - универсальная система кодирования данных. Эта система основана на 16-разрядном (или 2-х байтовом) кодировании символов против 8-разрядного кодирования всех перечисленных выше систем. 216=65536. Можно закодировать все языки земного шара. Реализация 16-разрядной системы кодирования стала возможной во второй половине 90-х годов, т.к. технические средства достигли необходимого уровня обеспеченности ресурсами. Ведь тексты становятся автоматически вдвое длиннее.