Автор работы: Пользователь скрыл имя, 05 Февраля 2011 в 17:27, курс лекций
В работе рассматриваются основные вопросы в виде лекций по предмету "Программное обеспечение".
Лекция № 2 Кодирование информации
Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления – для этого обычно используется приём кодирования, то есть выражение данных одного типа через данные другого типа.
Набор правил кодирования той или иной разновидности информации называется форматом данных.
Система кодирования существует и в вычислительной технике – она называется двоичным кодированием и основана на представлении данных последовательностью данных всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по-английски – binary digit, или, сокращённо, bit (бит). Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, чёрное или белое, истина или ложь и т. п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:
00 | 01 | 10 | 11 |
Тремя битами можно закодировать восемь различных значений:
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличили в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид:
N=2m, где:
N – количество независимо кодируемых значений;
m – разрядность двоичного кодирования, принятая в данной системе.
Целые числа двоичным кодом закодировать достаточно просто – достаточно перевести число, записанное в десятичной системе счисления, в двоичную.
Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяет закодировать целые числа от 0 до 65536, а 24 бита – уже более 16,5 миллионов разных значений.
Для кодирования действительных чисел используют 80-разрядное кодирование (т.е. используется 80 бит). При этом число предварительно преобразуется в нормальную форму:
3,1415926 = 0,3145926·101
300 000 = 0,3·106
123 456 789 = 0,123456789·1010
Первая часть называется мантиссой, а вторая – характеристикой. Большую часть из 80 бит отводят для характеристики мантиссы (вместе со знаком) и некоторое фиксированное количество разрядов отводят для хранения характеристики (то же со знаком).
Для представления числовых данных в компьютере используется два принципиально разных формата:
Формат с фиксированной точкой предназначен для абсолютно точного представления целых чисел. С плавающей точкой используют только нецелых чисел.
Представлять числа в компьютере принято виде разрядной сетки.
Так запись числа 18 в восьмиразрядной сетке будет выглядеть следующим образом.
7 р | 6 р | 5 р | 4 р | 3 р | 2 р | 1 р | 0 р |
0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
Максимальное число, которое можно записать в той или иной разрядной сетке будет определяться соотношением 2N-1, где N – значение старшего разряда, т.е. для восьмиразрядной сетки это будет число 127.
Как известно целые числа могут быть как положительными, так и отрицательными. Тогда для целого числа -18 запись в восьми разрядной сетке будет выглядеть.
7 р | 6 р | 5 р | 4 р | 3 р | 2 р | 1 р | 0 р |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
Старший разряд (7) – знаковый разряд. Если в старшем разряде стоит 1 – отрицательное число, 0 – число положительное.
Запись числа с плавающей точкой в виде 80-ти разрядного кода выглядит так:
Код знака числа | 15бит |
64 бита | |||||||||||
79 р | 78 р | …… | 65р | 64р | 63р……8р | 7 р | 6 р | 5 р | 4 р | 3 р | 2 р | 1 р | 0 р |
1 | 0 | …… | 0 | 0 | 0…….0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
Начиная с 60-х годов, компьютеры все больше стали использовать для обработки текстовой информации и в настоящее время большая часть ПК в мире занято обработкой именно текстовой информации.
Традиционно для кодирования одного символа используется количество информации = 1 байту (1 байт = 8 битов).
Для кодирования одного символа требуется один байт информации.
Учитывая, что каждый бит принимает значение 1 или 0, получаем, что с помощью 1 байта можно закодировать 28=256 различных символов.
Кодирование заключается в том, что каждому символу ставится в соответствие уникальный двоичный код от 00000000 до 11111111 (или десятичный код от 0 до 255).
Важно, что присвоение символу конкретного кода – это вопрос соглашения, которое фиксируется кодовой таблицей.
Таблица кодировки
Таблица, в которой всем символам компьютерного алфавита поставлены в соответствие порядковые номера (коды), называется таблицей кодировки.
Для разных типов ЭВМ используются различные кодировки. С распространением IBM PC международным стандартом стала таблица кодировки ASCII (American Standart Code for Information Interchange) – Американский стандартный код для информационного обмена.
Таблица кодировки ASCII.
Стандартной в этой таблице является только первая половина, т.е. символы с номерами от 0 (00000000) до 127 (0111111). Сюда входят буква латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы.
Остальные 128 кодов (с 128 по 255) используются в разных вариантах. В русских кодировках размещаются символы русского алфавита.
Символ | Двоичный код | Символ | Двоичный код | Символ | Двоичный код | Символ | Двоичный код |
А | 10000000 | И | 10001000 | Р | 10010000 | Ш | 10011000 |
Б | 10000001 | Й | 10001001 | С | 10010001 | Щ | 10011001 |
В | 10000010 | К | 10001010 | Т | 10010010 | Ъ | 10011010 |
Г | 10000011 | Л | 10001011 | У | 10010011 | Ы | 10011011 |
Д | 10000100 | М | 10001100 | Ф | 10010100 | Ь | 10011100 |
Е | 10000101 | Н | 10001101 | Х | 10010101 | Э | 10011101 |
Ж | 10000110 | О | 10001110 | Ц | 10010110 | Ю | 10011110 |
З | 10000111 | П | 10001111 | Ч | 10010111 | Я | 10011111 |
Отсутствие
стандартов в этой области привело
к множественности одновременно
действующих кодировок. Так, например,
кодировка символов русского алфавита,
известная как кодировка Window
В настоящее время существует 5 разных кодовых таблиц для русских букв (КОИ-7, КОИ-8, СР1251, СР866, Mac, ISO).
КОИ – код обмена информации семизначный (восьмизначный).
СР – Code Page (кодовая страница).
В
настоящее время получил
Если
рассмотреть с помощью
Растровое изображение представляет собой совокупность точек (пикселей) разных цветов.
Поскольку линейные координаты и индивидуальные свойства каждой точки (т.е. яркость) можно выразить с помощью целых чисел, то можно сказать, что растровое координирование позволяет использовать двоичный код для представления графических данных. Общепринятым на сегодняшний день считается представление чёрно-белых иллюстраций в виде комбинации точек с 256 градациями серого цвета, и таким образом, для кодирования яркости любой точки обычно достаточно восьмиразрядного двоичного числа.
Для
кодирования графических
На практике считается (хотя теоретически это не совсем так), что любой цвет, видимый человеческим глазом, можно получить путём механического смешивания этих трёх основных цветов. Такая система называется RGB по первым буквам названий основного цвета.