Для хранения и переработки информации применяется её кодирование. Любой текстовый документ – это информация, закодированная в виде символов какого-то алфавита. Звуковая информация может быть закодирована в виде нот, магнитофонной записи и т.д. Чтение документа, воспроизведение звуков на каком-либо инструменте – это декодирование информации. Кодирование и декодирование информации является её преобразованием из одного вида в другой. При этом она может изменяться.
С давних времен изобретались различные устройства для ускорения этого процесса. Печатный станок, пишущая машинка, арифмометр, логарифмическая линейка, граммофон, магнитофон – вот далеко неполный перечень таких изобретений. С появлением ЭВМ значительно увеличились скорость переработки и объем перерабатываемой информации.
Вся информация в ЭВМ хранится и перерабатывается в кодах двоичной системы счисления, которая является частным случаем позиционных систем счисления.
В позиционной системе счисления выбирается некоторое число р – основание системы. Затем отбирается р символов (цифр) для изображения чисел. Это цифры от 0 до 9 в десятичной системе, цифры от 0 до 7 в восьмеричной системе, цифры 0 и 1 в двоичной системе. В зависимости от позиции (места), которую занимает цифра в изображении числа, она может определять либо количество единиц, либо количество десятков, либо количество сотен и т.д.. Например, в обычной десятичной системе запись 52 означает, что число содержит две единицы и 5 десятков. Оно может быть представлено в виде суммы: 52 = 5*10 + 2. число 25, состоящее из этих же цифр содержит 2 десятка и 5 единиц. 25 = 2*10 + 5. Число 257865 = 2*105 + 5*104 + 7*103 + 8*102 + 6*101 + 5*100 . Таким образом, если а1, а2,,а3,…ап – цифры в десятичной системе счисления, то запись числа а1 а2,а3,…ап означает а1* 10п-1 + а2 * 10п-2 + ,а3,* 10п-3+…+ ап * 100. Эта же запись в системе счисления с основанием р означает
а1* рп-1 + а2 * рп-2 + ,а3,* рп-3+…+ ап * р0
Производя арифметические операции, мы получим число в десятичной системе. Это формула перехода из системы счисления р в десятичную систему.
В двоичной системе используются две цифры 0 и 1. Так, например, число 101101 в двоичной системе означает 1*25 +0*24+1*23+1*22+0*21+1*20 = 1*32+0+1*8+1*4+0+1 = 45 в десятичной системе.
Переход из десятичной системы в р-ичную осуществляется по следующему принципу. Производится деление заданного числа на основание системы р. Получается частное и некоторый остаток. Полученное частное вновь делится на р. Получается частное и остаток. Вновь частное делится на р и т.д, до тех пор пока частное не станет меньше р. Затем, выписывается последнее частное и остатки, начиная с последнего.
Переведем число 45 в двоичную систему. Здесь р=2. Получим таблицу
Частное
остаток
Последнее частное 1, последний остаток 0. получим двоичное шестиразрядное число 101101.
При двоичном кодировании каждому символу ставится в соответствие комбинация из нулей и единиц – его код. 0 и 1 обладают информацией 1 бит, являющейся единицей измерения информации. С помощью одноразрядных двоичных чисел мы можем закодировать два символа. С помощью двухразрядных чисел можно закодировать 4 символа. Их коды будут 11, 10, 01, 00. С помощью трехразрядных чисел можно закодировать 23 = 8 символов. С помощью 8 разрядных чисел можно закодировать 28 = 256 символов, что оказывается достаточным для кодирования встречающихся нам символов (букв, цифр, знаков препинания и других знаков). Поэтому 8 бит называю 1 байт (1 б). 210б = 1 килобайт (1 Кб). 210 Кб = 1 мегабайт (1 М б). 210 Мбт = 1 гигобайт (1 Г б).
Таким образом, код одного символа – это 1 байтовая комбинация нулей и единиц. Двоичная система выбрана для кодирования потому, что в двоичной системе очень простые таблицы сложения и умножения.
Обратим внимание, что сложение двух единиц в результате дает 0 и перенос единицы в соседний разряд.
Кроме того, двоичное число достаточно просто реализовать физически. Наличие слабого тока соответствует 0, более сильного тока соответствует 1. При сложении двух сильных токов происходит сброс тока и возбуждение его в соседнем проводнике (разряде). Все остальные операции сводятся к многократному сложению.