Windows XP pic_1.jpg
Windows XP pic_2.jpg

Что означает эта таблица? А означает она то, что однозначными числами можно закодировать 10 объектов, двузначными - 100 объектов и так далее. Например, количество автомобильных номеров с одинаковыми буквами и разными цифрами ровно 1000 - ведь автомобильный номер содержит три цифры. Разных телефонных номеров в Москве может быть ровно десять миллионов: каждый телефонный номер состоит из семи цифр (без учета цифр кода города).

Двоичная система

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

¦ 0 - отсутствие сигнала;

¦ 1 - его наличие.

Хорошая азбука, что и говорить! Такую даже первоклассник выучит за секунду. Да только мала - много ли слов составишь из ее «букв»? Немного. Но для компьютера - вполне достаточно. И как же по научному называется такая система счисления из двух цифр? Нетрудно догадаться, что двоичной.

Двоичная система счисления действительно очень простая, даже самая простая. Для подтверждения этой мысли представим таблицы умножения и сложения двоичной системы.

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

Windows XP pic_3.jpg

Какое в этой таблице самое сложное действие? Конечно, 1x1 = 1. Остальные ее действия - 0x0=0, 0x1=0, 1x0=0 - как говорят математики, абсолютно тривиальны.

Название таблицы сложения произошло, видимо, от слова «сложный». Таблица сложения двоичной системы не просто сложнее таблицы умножения. Она сложна по жизни. Точнее, камень преткновения составляет одно единственное действие, но на нем держится вся система и все компьютеры. Посмотрим на эту «страшную» таблицу сложения:

Windows XP pic_4.jpg

Вся суть этой таблицы - в ее самом сложном действии: 1 + 1 = 102 «один-ноль». Остальные действия не представляют для нас никакой угрозы: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1. А что это за индекс «два» у числа 102? Индекс два пришлось записать в этом числе, чтобы обозначить, что оно записано в двоичной системе счисления. Да, число 102 вовсе не равно десяти в «школьной» десятичной системе. Хотя и пишется как десять с индексом два. Здесь как раз тот самый случай: наш язык десятичный, и называть адекватно числа в других системах он не может.

Какое же количество обозначает это число 102? Давайте посчитаем. Оно получено сложением двух единиц, и поэтому обозначает количество два. Только записано оно в двоичной системе. А что прикажете делать? Ведь у двоичной системы в арсенале всего две цифры: 0 да 1. И как тогда обозначить число, следующее за 1? А как обозначается число в десятичной системе, которое следует сразу за самой большой цифрой 9? Вот точно так же и в двоичной системе. Только с двоечкой внизу.

Другими словами, 102 = 210: «один-ноль» в двоичной системе равно двум в десятичной. Ах, язык, язык… Обратите внимание: основание системы счисления справа внизу у чисел пишется всегда в десятичной системе!

Для тренировки выпишем первые двоичные числа от 0 до 16. Воспользуемся при этом основным свойством чисел: следующее число больше предыдущего на 1.

0 и 1 можно писать без указания системы счисления: 0 и 1 и в Африке 0 и 1.

Самый эффективный способ получить следующее число - это прибавить один столбиком. Да, да, тем самым «школьным» столбиком. Он прекрасно «работает» в любых системах счисления. Сначала получим:

1 + 1 = 102 (называется не «десять», а «один-ноль», то есть перечисляются названия цифр слева направо);

102 + 1 = 112 («один-один»);

112 + 1 = 1002 («один-ноль-ноль») и так далее.

Как нетрудно заметить, главное в этом деле - все время помнить, что один да один будет не два, а «один-ноль». Нуль пишем, один в уме…

Следует иметь в виду: заложенная в русский язык десятичная система ни в коем случае не должна использоваться для называния чисел в других системах.

Если продолжить это увлекательное занятие, то получится следующая таблица с первыми 16 двоичными (и десятичными) числами, не считая нуля.

Windows XP pic_5.jpg

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

Итак, изучая эту таблицу, получаем:

¦ 2 однозначных двоичных числа 0 и 1;

¦ 4 = 22 двузначных двоичных числа: 00, 01, 102 и 112;

¦ 8 = 23 трехзначных двоичных чисел от 000 до 1112;

¦ 16 = 24 четырехзначных двоичных чисел от 0000 до 11112.

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

Windows XP pic_6.jpg
Единицы компьютерной информации. Биты и байты

Имеют ли «слова», составленные из двоичных цифровых «букв», какие-то специальные названия? Имеют, и весьма значимые.

«Слова», составленные из одной «буквы» - однозначные числа - называются битами. Бит может принимать только два значения - 0 и 1. Бит можно представить как выбор ответа «да» или «нет» на поставленный вопрос. Электронным представлением бита на компьютере является ситуация «есть сигнал / нет сигнала». В математических науках и информатике ответ «да» обычно обозначается цифрой 1, «нет» - цифрой 0. Одним битом можно закодировать два объекта.

«Слова», состоящие из восьми «букв», то есть восьмизначные двоичные числа, называются байтами. Восьмерка здесь присутствует не случайно: это первое мистическое компьютерное число. Откуда взялась в байте именно цифра 8, никто не знает (может быть, по количеству колонн Большого театра в Москве?). Но эта цифра постоянно буквально путается под ногами у компьютера. Позволю себе процитировать по этому поводу очень серьезную книгу американских специалистов, изданную ими в 1985 г.:

«Число битов, необходимых для кодирования символа в конкретной вычислительной машине, называется размером байта, а группа битов в этом числе называется байтом. Размер байта в большинстве ЭВМ равен 8» (выделение авторов).

То есть размер байта 8 бит устоялся в основном как оптимальный с точки зрения кодирования символов.

Примерами восьмизначных компьютерных «слов» - байтов можно записать следующие числа:

00001111 10101000 10001111 10000110 01010101 и так далее.

В каком же диапазоне изменяются наши 256 байтов? Очевидно, что от 0000 0000 до 1111 1111, при переводе в десятичную систему от 0 до 255.

Не путайте биты с байтами! Бит состоит из одной двоичной цифры, и разных битов всего два: 0 и 1. Байт содержит ровно восемь цифр, не больше и не меньше. А сколько всего имеется разных байтов? Это легко выяснить из предыдущей таблицы: 256.

Получили второе мистическое компьютерное число - 256. Компьютер все время работает с байтами, обычно ими легче оперировать. Но по мере развития прогресса компьютеры становились все мощнее и мощнее, все мозговитее и мозговитее. Байтов в них становилось все больше и больше. Сейчас их уже так много, что разработана целая система так называемых производных единиц от байта.