Чтобы была возможность работы с данными различных видов, необходимо унифицировать форму их представления, а это можно сделать с помощью кодирования. Кодированием мы занимаемся довольно часто, например, человек мыслит весьма расплывчатыми понятиями, и, чтобы донести мысль от одного человека к другому, применяется язык. Язык – это система кодирования понятий. Чтобы записать слова языка, применяется, опять же, кодирование – азбука. Проблемами универсального кодирования занимаются различные области науки, техники, культуры. Вспомним, что чертежи, ноты, математические выкладки являются тоже некоторым кодированием различных информационных объектов. Аналогично, универсальная система кодирования требуется для того, чтобы большое количество различных видов информации можно было бы обработать на компьютере.
Подготовка данных для обработки на компьютере (представление данных) в информатике имеет свою специфику, связанную с электроникой. Рассмотрим ее. Например, мы хотим проводить расчеты на компьютере. При этом нам придется закодировать цифры, которыми записаны числа. На первый взгляд, представляется вполне естественным кодировать цифру ноль состоянием электронной схемы, где напряжение на некотором элементе будет равно 0 вольт, цифру единица – 1 вольт, двойку – 2 вольт, и т.д. девятку – 9 вольт. Для записи каждого разряда числа в этом случае потребуется элемент электронной схемы, имеющий десять состояний. Однако, элементная база электронных схем имеет разброс параметров, что может привести к появлению напряжения, скажем, 3,5 вольт, а оно может быть истолковано и как тройка и как четверка, т.е. потребуется на уровне электронных схем объяснить компьютеру, где заканчивается тройка, а где начинается четверка. Кроме того, придется создавать весьма непростые электронные элементы для производства арифметических операций с числами, т.е. на схемном уровне должны быть созданы таблица умножения - 10х10=100 схем и таблица сложения – тоже 100 схем. Для электроники сороковых годов (время, когда появились первые вычислительные машины) это была непосильная задача. Еще сложнее выглядела бы задача обработки текстов, ведь русский алфавит содержит 33 буквы. Очевидно, такой путь построения вычислительных систем не состоятелен.
В то же время, весьма просто реализовались электронные схемы с двумя устойчивыми состояниями: есть ток – 1, нет тока – 0, есть электрическое (магнитное) поле – 1, нет – 0. Взгляды создателей вычислительной техники были обращены на двоичное кодирование, как универсальную форму представления данных для дальнейшей обработки их средствами вычислительной техники. Предполагается, что данные располагаются в некоторых ячейках, представляющих упорядоченную совокупность из двоичных разрядов, а каждый может временно содержать одно из состояний – 0 или 1. Тогда группа из двух двоичных разрядов (двух бит) может закодировать 22= 4 различных комбинации кодов (00 01 10 11); аналогично, три бита дадут 23= 8 комбинаций, восемь бит или 1 байт - 28= 256 и т.д.
Итак, внутренняя азбука компьютера очень бедна, содержит всего два символа 0, 1, и возникает проблема представления всего многообразия типов данных – чисел, текстов, звуков, графических изображений, видео и других, только этими двумя символами, с целью дальнейшей обработки средствами вычислительной техники. Вопросы представления некоторых типов данных мы рассмотрим в последующих параграфах.
Существуют различные способы записи чисел,
Например:
- можно записать число в виде текста - сто двадцать три;