ПОНЯТНО О Visual Basic NET (том 3)

Представление и кодирование информации в компьютере


Физический уровень. Поговорим о том, как физически представлена информация в компьютере. Что значит «физически»? Вот, например, на листе учебника буквы физически представлены типографской краской, на старой грампластинке звук представлен изгибами звуковой дорожки, в человеческом мозге информация представлена электрическими импульсами, которые передаются от одной нервной клетки мозга в другую. В компьютере принят тот же способ представления, что и в мозге – из одного устройства компьютера в другое и внутри устройств информация передается электрическими импульсами. Посмотрим поподробнее, как электрические импульсы несут информацию в компьютере.

Логический уровень. Когда мы говорим о логическом уровне, мы говорим о кодировании (строении, структуре) информации, а не о том, как она физически представлена.

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

Из чего состоит программа? Программа на языке программирования  состоит из команд, записанных при помощи букв, цифр, знаков математических действий, знаков препинания и других символов[†]. Будем понимать под символом любой знак (букву, цифру, знак математического действия, знак препинания и др.), который понимает компьютер. Самые популярные символы вы можете видеть на клавиатуре.

Из чего состоят данные? Если это текстовые данные, то они тоже состоят из символов. О числах, графических данных (изображениях), видео и звуке поговорим чуть ниже.

Таким образом, значительная часть информации в компьютере состоит из символов. Посмотрим, как в компьютере представлены символы. Для этого вспомним, как кодируются символы в азбуке Морзе, активно использовавшейся не так давно для передачи сообщений на расстояние. Каждый символ (буква, цифра) представлен в ней цепочкой точек и тире. Например, буква А представлена, как . -, буква Ч – как - - - . . В компьютере каждый символ тоже кодируется, но по-другому – цепочкой из 8 или 16 единиц и ноликов. Например, буква А может быть представлена, как 10000000, буква Ч – как 10010111, а цифра 7 – как 00110111.


Кстати, вот полезная задачка для будущего программиста: Сколько всего символов можно закодировать цепочкой из восьми единиц и ноликов? Подумайте на досуге.

Физический уровень. Пока мы с вами говорили о символах и их кодировании безотносительно к тому, какими физическими процессами и величинами они представлены в компьютере. Мы были на так называемом «логическом» уровне. Теперь перейдем на физический уровень. Пусть память передает на принтер букву Ч. В этом случае она посылает по шине в течение, скажем, восьми микросекунд,  серию из восьми электрических импульсов и промежутков между импульсами:

Первая микросекунда                              -              импульс

Вторая микросекунда                               -              промежуток

Третья микросекунда                               -              промежуток

Четвертая микросекунда         -              импульс



Пятая микросекунда                 -              промежуток

Шестая микросекунда              -              импульс

Седьмая микросекунда            -              импульс

Восьмая микросекунда             -              импульс

Как видите, последовательность импульсов и промежутков в серии соответствует последовательности единиц и ноликов в коде буквы Ч. Величина импульса не играет никакой роли, все импульсы в микросхемах компьютера имеют обычно одну и ту же величину, скажем 1 вольт.

Таким же примерно образом обмениваются группами из 8 импульсов все устройства компьютера. В памяти эти группы живут в «замороженном» виде. В каждом байте оперативной памяти или памяти на диске умещается ровно одна такая группа, поэтому говорят, что устройства обмениваются байтами информации.

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



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

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

         Код 111                 -              пиксель горит белым цветом

         Код 100                 -              пиксель горит синим цветом

         Код 010                 -              пиксель горит красным цветом

         Код 001                 -              пиксель горит зеленым цветом

         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 

         Код 000                 -              пиксель не горит (черный)

Если программа предназначена для распечатки изображения с экрана монитора на цветном принтере, то она просто посылает на принтер по очереди коды информации о каждом пикселе изображения.

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

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

Вывод – любая информация в компьютере закодирована в виде цепочек, состоящих из единиц и нулей, и в таком закодированном виде передается внутри устройств и между устройствами компьютера. Обычно длина цепочки равна 8 и тогда такая цепочка называется байтом. Каждый из восьми ноликов или единичек называется битом. Таким образом, 1 байт = 8 битов.

________   _   _________

Тех сведений, которые вы получили в этом приложении, достаточно для того, чтобы приступить к сознательному программированию на VB.


Содержание раздела