Различные кодировки кириллицею.

Двоичное кодирование и компьютер.

В конце ХХ века, века компьютеризации, человечество пользуется двоичной системой ежедневно, так как вся информация, обрабатываемая современными ЭВМ, хранится в них в двоичном виде.

 

Каким же образом осуществляется это хранение?

 

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

Нумерацию разрядов в ячейке. принято вести справа налево, самый левый разряд имеет порядковый номер 0.

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

Следовательно, использование двоичной системы счисления в качестве внутренней системы представления информации вызвано конструктивными особенностями элементов вычислительных машин.

Двоичное кодирование текстовой информации.

Различные кодировки кириллицею.

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

Традиционно для кодирования одного символа используется количество информации, равное 1 байту, т. е. / = 1 байт = 8 бит.
Если рассматривать символы как возможные события, то можно вычислить, какое количество различных символов можно закодировать: N-21- 28-256 .

Такое количество символов вполне достаточно для представления текстовой информации, включая прописные и заглавные буквы русского и латинского алфавита, цифры, знаки, графические символы и т. д.
Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер — по их коду.

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

В процессе вывода символа на экран компьютера производится обратный процесс — декодирование, т. е. преобразование кода символа в его изображение.

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

Коды с 33 по 127 — интернациональные и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания.

Коды с 128 по 255 являются национальными, т. е. в национальных кодировках одному и тому же коду отвечают различные символы. К сожалению, в настоящее время существует пять различных кодовых таблиц для русских букв (КОИ-8, СР1251, СР866, Мае, ISO), поэтому тексты, созданные в одной кодировке, не будут правильно отображаться в другой.

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

В последнее время появился новый международный стандарт Unicode, который отводит на каждый символ не один байт, а два, и потому с его помощью можно закодировать не 256 символов, а N-216- 65 536 различных символов.

Самые первые компьютеры работали только с числами – это числовая информация.

Потом люди научились «превращать» или кодировать буквы в числа, и тогда компьютер стал работать с числами, словами ,предложениями и большими текстами.

 

Такую информацию называют числовой.

 

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

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

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

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

Качество кодирования изображения зависит от:

1) размера точки (чем меньше её размер, тем больше кол-во точек в изображении);

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

Качество растрового изображения зависит от:

1) разрешающей способности монитора – количество точек по вертикали и горизонтали.

2) используемой палитры цветов (16, 256, 65536 цветов)

3) глубины цвета – количество бит для кодирования цвета точки

 

Для хранения черно-белого изображения используется 1 бит.

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

 

   
Двоичное кодирование чисел. Представление числовой информации в ПК. Естественная форма представления чисел используется для хранения в памяти и обработки процессором целых чисел с фиксированной запятой. Каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа. Запятая находится справа от меньшего разряда (вне разрядной сетке). Для хранения и представления : целых неотрицательных чисел используется 1 ячейка памяти = 8 бит (1байт) целых чисел со знаком используется 2 ячейки = 16 бит: старший левый разряд - знак числа (0- положительное, 1–отрицательное) Максимальное значение целого положительного числа A=2n-1 – 1(n-число разрядов) = 3276710 . больших целых чиселиспользуется 4ячейки = 32 бит отрицательных чисел используется дополнительный код, Дополнительный код отрицательного числа A, хранящегося в n-ячейках 2n - |A|   Экспоненциальная форма представления чисел обычно используется для записи очень больших или очень малых чисел, кот в естественной форме содержат большое количество незначащих нулей (1 000 000 = 1·106). Вещественные числа (конечные и бесконечные десятичные дроби) записываются в формате с плавающей запятой, т.е. положение запятой в числе может меняться. Формат чисел с плавающей запятой: A = m · qn m – мантисса числа q – основание системы счисления n – порядок числа например:
Естественная форма Экспоненциальная форма
десятичная система счисления 16000000000000000 = 1,6 ·10 16   0,00000000000000016 = 1,6 ·10 -16
двоичная система счисления 11000000000000000 = 1,1 ·2 16   0,00000000000000011 = 1,1 ·2 -16

 

Диапазон изменения чисел определяется количеством разрядов, отведенный для хранения порядка числа, точностьопределяется количеством разрядов, отведенных для хранения мантиссы.

Арифметические операции чисел в формате с плавающей запятой:

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

При умножении порядки складываются, а мантиссы перемножаются.

При делении – их порядка делимого вычитается порядок делителя, мантисса делимого делится на мантиссу делителя.

Например:

0,1·23 + 0,1·25 = 0,001·25 + 0,100·25 = 0,101·25

0,1·23 + 0,1·25 = 0,01·28 = 0,1·27

310=112