Если же теперь наш настойчивый читатель сумеет пересчитать большим пальцем левой руки суставы оставшихся четырех пальцев, то, несомненно, заподозрит существование когда-то на заре человечества и двенадцатеричной системы счисления. Он и тут не ошибется! Так, короадосы Бразилии считают по числу суставов на каждом пальце левой руки (без большого) до 12, затем каждый палец правой руки (включая большой) означает 12. Двенадцатеричная система встречается у некоторых племен Центральной Америки.
Еще не так давно был распространен счет по дюжинам (т. е. число 12), дюжинам дюжин — "гроссам", дюжинам гроссов — "массам" для белья, посуды, писчебумажных товаров. Дома у нас сервизы содержат по 12 чашек, 12 блюдец, 12 тарелок.
О широком распространении двенадцатеричной системы свидетельствуют такие факты: мы до сих пор делим год на 12 месяцев; у англичан в системе мер 1 фут равен 12 дюймам, а в денежной системе 1 шиллинг равен 12 пенсам. Число 12 часто встречается также в сказках и легендах (12-главый змей, 12 братьев-разбойников), что говорит о древнем происхождении этой системы счисления.
Посмотрим, как будет представлено в ней число 777. Поскольку в системе должно быть двенадцать цифр, а мы знаем только десять, то придется ввести еще две цифры, обозначив 10, скажем, буквой А, а 11 — буквой Б. Осуществив последовательное деление нашего числа на основание 12, получим
(777)10 = 5∙122 + 4∙12 + 9 = (549)12
Число (35)10 =2∙12 + 11 запишется как (2Б)12, а число (134)10 = 11∙12 + 2 - как (Б2)12, т. е. оно станет двузначным.
Как видите, можно придумать много различных позиционных систем счисления, отличающихся только основаниями. И вес они, вообще говоря, равнозначны: ни одна из них не имеет явных преимуществ перед другой! Так почему же все-таки мы пользуемся именно десятичной системой счисления?
Вряд ли можно дать на этот вопрос исчерпывающий ответ. Одну из причин мы указали - 10 пальцев на руках человека. Возможно, системы с низким основанием (например, пятеричная) оказались менее пригодными, чем десятичная, потому что в них даже сравнительно небольшие числа выражались довольно громоздко. Или, может быть, использование системы с высоким основанием, таких как двадцатеричная или шестидесятеричная, не оправдалось на практике, поскольку требовалось запоминать большое число особых слов - названий низших числительных. Вероятно, поэтому в процессе естественного отбора в подавляющем большинстве случаев выжила система счисления с основанием "средней" величины, т. е. десятичная.
Число 2 - это самое меньшее из чисел, которое можно взять за основание системы счисления. Поэтому в двоичной системе счисления всего две цифры: 0 и 1. С их помощью можно "сосчитать" любые числа. Ведь мы уже убедились в том, что системы счисления с любым основанием равноправны.
Число в двоичной системе запишется так:
M = an∙2n + an-1∙2n-1 + ... + a1∙2 + a0
Если в десятичной системе "вес" каждой позиции (или разряда) числа равен 10 в некоторой степени, то в двоичной системе вместо числа 10 используется число 2. "Веса" первых 13 позиций (разрядов) двоичного числа имеют следующие значения:
Попробуем записать уже привычное нам число (777)10 в двоичной системе счисления. Мы сможем легко сделать это, вспомнив принцип последовательного деления числа на основание системы, в данном случае числа 777 на число 2:
Представляя наше число в виде разложения по степеням двойки и отбрасывая потом при записи сами степени, получаем его запись в двоичной системе:
(777)10 = 1∙29 + 1∙28 + 0∙27 + 0∙26 + 0∙25 + 0∙24 + 1∙23 + 0∙22 + 0∙2 + 1 = (1100001001)2
Итак, в двоичной системе счисления вместо числа 777 приходится писать число 1100001001.
Другой пример: десятичное число (45)10 имеет двоичную запись (101101)2.
При записи числа в десятичной системе каждая позиция занята десятичной цифрой. Аналогично при записи числа в двоичной системе каждая позиция занята двоичной цифрой. В научном мире вместо двух слов "двоичная цифра" употребляют одно слово: "бит". Оно произошло от английского bit, составленного из начальных и конечной букв словосочетания binary digit, что в переводе означает "двоичная цифра". Мы можем сказать, что двоичная запись числа (45)10 содержит шесть бит, а числа (777)10 - десять бит.
С помощью одного бита можно записать только числа 0 и 1, двух бит - числа от 0 до 3, трех бит - числа от 0 до 7, четырех бит — числа от 0 до 115 и т.д.
Чтобы записать числа от 0 до 1000, пот ребуется десять бит. В двоичной системе счисления даже сравнительно небольшое число занимает много позиций.
А как "разгадать", какое десятичное число скрывается под его записью в двоичной системе? Правило простое: под каждым разрядом двоичного числа следует записать его "вес". Те "веса", которые соответствуют единичным разрядам, нужно сложить. Полученная сумма и есть "разгадка". Вот перед нами "загадочное" число 1001011, записанное в двоичной нумерации. Поступаем согласно сказанному выше:
Как видим, заинтересовавшее нас число складывается из единицы, двойки, восьмерки и шестидесяти четырех (1 + 2 + 8 + 64). Очевидно, оно равно 75. Попробуйте самостоятельно определить, какому числу соответствует его двоичная запись 10110011.
Вот и состоялось наше первое знакомство с двоичной системой счисления, начавшей свое победное шествие со второй половины XX в. Но не нужно связывать появление на сцене двоичной арифметики с изобретением электронных вычислительных машин. Использование ее в ЭВМ - только одно из новейших применений двоичной системы. Дело в том, что двоичная система счисления стара, как мир!
Так, в начале прошлого века у вымирающего охотничьего индейского племени абипонов в Аргентине путешественники обнаружили числительные только для 1 - "инитара" и 2 - "иньоака". Число 3 они выражали как "иньоака-инитара".
Австралийские племена, обитавшие в бухте Купера, также имели две цифры и пользовались двоичным счетом: 1 - "гуна", 2 - "баркула", 3 - "баркула-гуна", 4 - "баркула-баркула"...
Не правда ли, это очень напоминает современное двоичное представление чисел. Если слово "гуна" заменить словом "нуль", а слово "баркула" словом "один", то получим современную двоичную последовательность: "нуль" (0), "один" (1), "один-нуль" (10), "один-один" (II).
Еще один пример. У туземцев островов, расположенных в Торресовом проливе (отделяющем Новую Гвинею от Австралии), тоже было всего две цифры - это "урапун" (1) и "окоза" (2). Островитяне считали так: "окоза-урапун" (3), "окоза-окоза" (4), "окоза-окоза-урапун" (5), "окоза-окоза-окоза" (6). И здесь замена слов "урапун" и "окоза" словами "нуль" и "один" позволяет разглядеть своеобразную цепочку двоичных чисел: "нуль" (0), "один" (1), "один-нуль" (10), "один-один" (11), "один-один-нуль" (110), "один-один-один" (111).