Как называется третий альбом группы Coldplay?
Когда фанаты устремились за покупкой третьего альбома группы Coldplay, выпущенного в 2005 г., они были сильно заинтригованы рисунком на обложке, пытаясь постичь его смысл. На нем были изображены расположенные на сетке разноцветные прямоугольники. В чем же заключалось значение картинки? Оказалось, она представляла название альбома, написанное с помощью одного из первых двоичных кодов, предложенного в 1870 г. французским инженером Эмилем Бодо. Цвета на рисунке не имели значения: смысл был лишь в том, что каждый прямоугольник представлял 1, а каждый пропуск нужно было истолковать как 0.
Немецкий математик XVII в. Готфрид Лейбниц одним из первых осознал приспособленность нулей и единиц к эффективному хранению информации. Он почерпнул эту идею из китайской «И цзин» – «Книги перемен», где исследуется динамический баланс противоположностей. В ней имелись 64 графических символа, называемые гексаграммами, каждый из которых представляет ту или иную ситуацию с точки зрения ее развития. Именно они побудили Лейбница создать двоичную математику (с ней мы познакомились в предыдущей главе, когда изучали выигрышную стратегию «Ним»). Каждая гексаграмма представляет стопку из шести горизонтальных линий, причем любая из линий либо цельная, либо прерванная посередине. В «И цзин» объясняется, как эти символы могут использоваться для гадания, в котором также совершаются подбрасывания монеток и веточек.
Например, если у прорицателя выпадет гексаграмма, изображенная на рис. 4.12, то она будет означать «тяжбу».
Но если линии сложатся иным образом и цельные поменяются с прерванными (рис. 4.13), то получится «поражение света».
Однако Лейбница больше заинтересовало то обстоятельство, что, как отметил Шао Юн, китайский философ XI в., каждому символу может быть приписано число. Если вы будете обозначать единицей сплошную линию, а нулем прерванную, то первая гексаграмма при чтении сверху вниз даст вам 111010. В числах, записанных в десятичной системе, каждый разряд соответствует степени 10, и число в этом разряде говорит вам, сколько этих степеней десяти нужно взять. Так, 234 обозначает 4 единицы, 3 десятка и 2 сотни.
Но Лейбниц и Шао Юн работали не в десятичной, а в двоичной системе, где каждый разряд соответствовал степени 2. Число 111010 в двоичной системе обозначает отсутствие единиц, одну двойку, отсутствие четверки, одну восьмерку, один набор из 16 и один набор из 32. При сложении мы получим 2 + 8 + 16 + 32 = 58. Красота двоичной записи заключается в том, что для представления любого числа нужны лишь два символа, вместо десяти в десятичной системе. Два (десятичных) набора по 16 становятся одним набором следующей степени 2, то есть 32.
Лейбниц понял, что этот способ представления чисел становится крайне действенным, если вы хотите автоматизировать вычисления. Правила сложения двоичных чисел крайне просты. В каждом разряде 0 + 1 = 1, 1 + 0 = 1 и 0 + 0 = 0. Четвертая возможность заключается в 1 + 1 = 0, что сопровождается эффектом домино – 1 переносится и прибавляется к следующему разряду слева. Например, когда мы прибавляем 1000 к 111010, то видим каскад перемещений 1 к высшим разрядам:
Лейбниц сконструировал великолепные механические калькуляторы. В одном из них использовались шарики для обозначения 1, а отсутствие шарика представляло 0, так что процесс сложения напоминал фантастическую машину для пинбола. Лейбниц полагал, что «не пристало одаренному человеку тратить, подобно рабу, часы на вычислительный труд, который можно надежно доверить любому лицу при использовании машин». Я думаю, что большинство математиков согласятся с этим.
Люди начали обозначать цепочками 0 и 1 не только числа, но и буквы. Хотя человеческому роду код Морзе представлялся мощным инструментом для коммуникации, машины были менее приспособлены к улавливанию тонких различий между точками и тире, прописывающими буквы, и пониманию того, когда закончилась предыдущая буква и началась следующая.