Смекни!
smekni.com

Роль систем счисления в истории компьютеров (стр. 1 из 3)

Алексей Стахов

В предисловии к книге Анри Лебега "Измерение величин" академик А.Н. Колмогоров замечает: "У математиков существует склонность, уже владея законченной математической теорией, стыдиться ее происхождения. По сравнению с кристаллической ясностью развития теории, начиная с уже готовых ее основных понятий и допущений, кажется грязным и неприятным занятием копаться в происхождении этих основных понятий и допущений. Все здание школьной алгебры и весь математический анализ могут быть воздвигнуты на понятии действительного числа без всякого упоминания об измерении конкретных величин (длин, площадей, промежутков времени и т.д.). Поэтому на разных ступенях обучения с разной степенью смелости неизменно проявляется одна и та же тенденция: возможно скорее разделаться с введением чисел и дальше уже говорить только о числах и соотношениях между ними. Против этой тенденции и протестует Лебег".

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

В истории систем счисления выделяют несколько этапов: начальная стадия счета, непозиционные системы счисления, алфавитные системы нумерации, поместные или позиционные системы счисления. Начальная стадия счета "характеризуется изображением сосчитываемых множеств при помощи частей тела, особенно пальцев рук и ног, палочек, узлов веревки и т.д. Как подчеркивается в статье И.Г. Башмаковой и А.П. Юшкевича "Происхождение систем счисления" ("Энциклопедия элементарной математики", том 1, "Арифметика", 1951 г.), ":несмотря на крайнюю примитивность этого способа изображения, он сыграл исключительную роль в развитии понятия числа". И именно в этот начальный период было сделано одно из крупнейших открытий античной математики. Речь идет о позиционном принципе представления чисел. Как подчеркивается в упомянутой выше статье Башмаковой И.Г. и Юшкевича А.П., "первой известной нам системой счисления, основанной на поместном, или позиционном принципе, является шестидесятеричная система древних вавилонян, возникшая примерно за 2000 лет до н.э.".

Для объяснения вопроса о ее происхождении в истории математики возникло несколько конкурирующих гипотез. М. Кантор первоначально предположил, что сумерийцы (первичное население долины Евфрата) считали год равным 360 суткам и что шестидесятеричная система имеет астрономическое происхождение. По гипотезе Г. Кевича в долине Евфрата встретились два народа, из которых у одного была десятичная система счисления, а у другого основанием было число 6 (возникновение такого основания Кевич объясняет особым счетом на пальцах, в котором сжатая в кулак рука означала 6). Благодаря слиянию обеих систем возникло "компромиссное" основание 60. Заметим, что гипотезы Кантора и Кевича касаются вопроса о происхождении основания 60, но не самого позиционного принципа представления чисел.

На последний вопрос отвечает гипотеза Нейгебауера об измерительном происхождении позиционного принципа, изложенная в книге "Лекции по истории античных математических наук" (т. 1 - "Догреческая математика", 1937 г.). Согласно этой гипотезе "основные этапы образования позиционной системы в Вавилоне были таковы: 1) установление количественного соотношения между двумя самостоятельными существовавшими системами мер и 2) опускание названий разрядовых единиц при письме". Эти этапы возникновения позиционных систем Нейгебауэр считает совершенно общими, подчеркивая при этом, что "позиционная шестидесятеричная система: оказалась вполне естественным конечным результатом долгого развития, ничем принципиально не отличающегося от аналогичных процессов в других культурах".

Что касается основания 60, которое, по мнению Нейгебауэра, возникло как синтез вавилонских систем мер, то более убедительной все же является гипотеза Кантора о его "астрономическом" происхождении. Происхождение числа 60 в качестве основания вавилонской системы счисления, а также чисел 12, 30 и 360 как узловых чисел всех календарных систем, систем измерения времени и угловых величин можно объяснить с позиций астрологических и астрономических знаний и основанных на них представлений о гармонии Вселенной. В Вавилоне и Египте с давних времен при составлении календарей большое значение придавали самой крупной из планет-гигантов - Юпитеру, который примерно за 12 лет делает полный оборот вокруг Солнца. Не меньшую роль играл также Сатурн, который совершает полный оборот вокруг Солнца примерно за 30 лет. Приняв 60 лет в качестве главного цикла Солнечной системы, составителям древних календарей удалось идеально согласовать циклы Юпитера (5x12=60) и Сатурна (2x30=60).

Гармонию Вселенной с давних времен символизировали пять "правильных" геометрических тел, называемых "Платоновыми телами". Особую роль при этом играл додекаэдр - правильный 12-гранник, гранями которого являются правильные пятиугольники ("пентаграммы"). Отсюда следует, что число углов на поверхности додекаэдра равно 5x12=60 (что соответствует 60-летнему циклу). Додекаэдр имеет 30 ребер (что соответствует циклу Сатурна) и 12 граней (что соответствует циклу Юпитера), а произведение этих чисел 30x12=360. Следуя магической числовой символике додекаэдра, которая отражала числовую гармонию циклов Юпитера и Сатурна, древние вавилоняне и выбрали число 60 в качестве основания своей системы счисления, а древние египтяне пришли к мысли разбить год на 12 месяцев (число граней додекаэдра), каждый из которых содержал ровно 30 дней (число ребер додекаэдра). Таким и был египетский календарь, созданный в четвертом тысячелетии до н.э. В этом календаре год состоял из 365 дней. Он делился на 12 месяцев по 30 дней каждый, в конце года добавлялось пять праздничных дней, которые, однако, не входили в состав месяцев. Заметим, что в своей системе измерения времени и угловых величин египтяне также использовали "магические" числа додекаэдра (1 сутки = 24 (2x12) часа, 1 час = 60 минут, 1 минута = 60 секунд, 2p=360╟, 1╟=60').

Появление позиционной системы обозначения чисел считается одной из основных вех в истории материальной культуры. В ее создании принимали участие целые народы. В 6 в. н.э. подобная система возникла у племени майя. Наиболее распространено мнение, что основанием системы счисления майя является число 20, имеющее "пальцевое" происхождение. Однако известно, что в системе майя есть одно отступление от двадцатеричного основания. Вес следующего за узловым числом 20 индейцы майя выбрали равным 360 (а не 400). Все последующие веса разрядов являются производными от чисел 20 и 360, которые и выступают в роли узловых чисел , образующих систему майя. Как подчеркивается в упомянутой выше статье Башмаковой И. Г. и Юшкевича А. П., это "объясняется тем, что год майя делили на 18 месяцев, по 20 дней в каждом, плюс еще пять дней". Таким образом, как и основание вавилонской системы, узловые числа системы майя имеют астрономическое происхождение. Существенно подчеркнуть, что годовой календарь майя по своей структуре (360+5) совпадал с египетским календарем. Учитывая высокий уровень развития культуры майя, можно высказать предположение, что майя были знакомы с "платоновыми телами" и что их годовой календарь был связан с икосаэдром - правильным телом, двойственным додекаэдру. Икосаэдр представляет собой правильный 20-гранник, гранями которого были правильные треугольники (отсюда деление месяца на 20 дней в календаре майя и выбор числа 20 в качестве первого узлового числа их системы счисления). Икосаэдр имеет 30 ребер (как и у додекаэдра) и 12 вершин (30x12=360). В каждой вершине сходится 5 углов, то есть общее число углов на поверхности икосаэдра равно 5x12=60. Таким образом, числовые характеристики икосаэдра также связаны с 12-, 30- и 60-летними циклами Солнечной системы.

Мы для повседневных вычислений используем десятичную систему счисления, предшественницей которой является индусская десятичная система, возникшая примерно в XII-м столетии нашей эры. Известный французский математик Лаплас (1749-1827) выразил свое восхищение позиционным принципом и десятичной системой в следующих словах:

"Мысль выражать все числа девятью знаками, придавая им, кроме значения по форме, еще значение по месту, настолько проста, что именно из-за этой простоты трудно понять, насколько она удивительна. Как нелегко было прийти к этой методе, мы видим на примере величайших гениев греческой учености Архимеда и Аполлония, от которых эта мысль осталась скрытой".

Лаплас (1749-1827)

Убежденным сторонником использования индо-арабской десятичной системы счисления в торговой практике был известный итальянский математик Леонардо Пизанский (Фибоначчи), получивший математическое образование в арабских странах. В своем сочинении "Liber abaci" (1202) он писал:

"Девять индусских знаков - суть следующие: 9, 8, 7, 6, 5, 4, 3, 2, 1. С помощью этих знаков и знака 0, который называется по-арабски zephirum, можно написать какое угодно число".

Здесь словом "zephirum" Фибоначчи передал арабское "as-sifr" , являющееся дословным переводом индусского слова "sunya", то есть "пустое",служившее названием нуля. Слово "zephirum" дало начало французскому и итальянскому слову "zero" (нуль). С другой стороны, то же арабское слово "as-sifr" было передано через "ziffer", откуда произошли французское слово "chiffre", немецкое "ziffer", английское "cipher" и русское "цифра".