Представление и кодирование информации в компьютере
Физический уровень. Поговорим о том, как физически представлена информация в компьютере. Что значит «физически»? Вот, например, на листе учебника буквы физически представлены типографской краской, на старой грампластинке звук представлен изгибами звуковой дорожки, в человеческом мозге информация представлена электрическими импульсами, которые передаются от одной нервной клетки мозга в другую. В компьютере принят тот же способ представления, что и в мозге – из одного устройства компьютера в другое и внутри устройств информация передается электрическими импульсами. Посмотрим поподробнее, как электрические импульсы несут информацию в компьютере.
Логический уровень. Когда мы говорим о логическом уровне, мы говорим о кодировании (строении, структуре) информации, а не о том, как она физически представлена.
Прежде всего заметим, что информация в компьютере – это или программы или данные, с которыми эти программы работают.
Из чего состоит программа? Программа на языке программирования состоит из команд, записанных при помощи букв, цифр, знаков математических действий, знаков препинания и других символов[†]. Будем понимать под символом любой знак (букву, цифру, знак математического действия, знак препинания и др.), который понимает компьютер. Самые популярные символы вы можете видеть на клавиатуре.
Из чего состоят данные? Если это текстовые данные, то они тоже состоят из символов. О числах, графических данных (изображениях), видео и звуке поговорим чуть ниже.
Таким образом, значительная часть информации в компьютере состоит из символов. Посмотрим, как в компьютере представлены символы. Для этого вспомним, как кодируются символы в азбуке Морзе, активно использовавшейся не так давно для передачи сообщений на расстояние. Каждый символ (буква, цифра) представлен в ней цепочкой точек и тире. Например, буква А представлена, как . -, буква Ч – как - - - . . В компьютере каждый символ тоже кодируется, но по-другому – цепочкой из 8 или 16 единиц и ноликов. Например, буква А может быть представлена, как 10000000, буква Ч – как 10010111, а цифра 7 – как 00110111.
Кстати, вот полезная задачка для будущего программиста: Сколько всего символов можно закодировать цепочкой из восьми единиц и ноликов? Подумайте на досуге.
Физический уровень. Пока мы с вами говорили о символах и их кодировании безотносительно к тому, какими физическими процессами и величинами они представлены в компьютере. Мы были на так называемом «логическом» уровне. Теперь перейдем на физический уровень. Пусть память передает на принтер букву Ч. В этом случае она посылает по шине в течение, скажем, восьми микросекунд, серию из восьми электрических импульсов и промежутков между импульсами:
Первая микросекунда - импульс
Вторая микросекунда - промежуток
Третья микросекунда - промежуток
Четвертая микросекунда - импульс
Пятая микросекунда - промежуток
Шестая микросекунда - импульс
Седьмая микросекунда - импульс
Восьмая микросекунда - импульс
Как видите, последовательность импульсов и промежутков в серии соответствует последовательности единиц и ноликов в коде буквы Ч. Величина импульса не играет никакой роли, все импульсы в микросхемах компьютера имеют обычно одну и ту же величину, скажем 1 вольт.
Таким же примерно образом обмениваются группами из 8 импульсов все устройства компьютера. В памяти эти группы живут в «замороженном» виде. В каждом байте оперативной памяти или памяти на диске умещается ровно одна такая группа, поэтому говорят, что устройства обмениваются байтами информации.
В оперативной памяти единичка представляется наличием электрического потенциала (заряда) в определенной точке электронной микросхемы, а нолик – его отсутствием. А поскольку таких точек в памяти многие миллионы, то столько же там и единиц с ноликами. В памяти на магнитных дисках единичка представляется наличием намагниченности в определенной точке диска, а нолик – его отсутствием или намагниченностью в другом направлении. В лазерных дисках единичка – это бороздка или бугорок в определенной точке диска, а нолик – его отсутствие, то есть участочек с зеркальной поверхностью.
Впрочем, в отдельных устройствах может быть и наоборот – единички это отсутствие потенциала или намагниченности или бороздок и т.д., а нолики – наличие. Это не принципиально.
Логический уровень. Перейдем снова на логический уровень. Когда кодируется изображение, то кодируется информация о каждом пикселе изображения (в виде группы единиц и ноликов). Например,
Код 111 - пиксель горит белым цветом
Код 100 - пиксель горит синим цветом
Код 010 - пиксель горит красным цветом
Код 001 - пиксель горит зеленым цветом
. . . . . . . . . . . . . . . . . . . .
Код 000 - пиксель не горит (черный)
Если программа предназначена для распечатки изображения с экрана монитора на цветном принтере, то она просто посылает на принтер по очереди коды информации о каждом пикселе изображения.
При кодировании звука используются разные способы, но факт то, что результатом кодировки являются все те же группы единиц и ноликов.
Коды чисел в компьютере часто не являются совокупностью кодов цифр, эти числа образующих. Так, число 88 часто не представляется цепочкой 00111000 00111000, а для кодирования используется другой, более экономный способ выстраивания в ряд ноликов и единиц.
Вывод – любая информация в компьютере закодирована в виде цепочек, состоящих из единиц и нулей, и в таком закодированном виде передается внутри устройств и между устройствами компьютера. Обычно длина цепочки равна 8 и тогда такая цепочка называется байтом. Каждый из восьми ноликов или единичек называется битом. Таким образом, 1 байт = 8 битов.
________ _ _________
Тех сведений, которые вы получили в этом приложении, достаточно для того, чтобы приступить к сознательному программированию на VB.