Главная » Delphi » О системах счисления

0

О том, что мы считаем в десятичной системе, т. к. у нас десять пальцев на двух руках, осведомлены, вероятно, все. Персонажи из мультфильмов студии "Пилот ТВ" — Хрюн Моржов и Степан Капуста — считают, наверное, в восьмеричной системе, так как у них по четыре пальца. У древних ацтеков и майя в ходу была двадцатеричная система (вероятно потому, что закрытая обувь в том климате была не в моде). Вместе с тем, история показывает, что привязка к анатомическим особенностям строения человеческого тела совершенно необязательна. Со времен древних вавилонян у нас в быту сохранились остатки двенадцатсричной и шестидесятеричной систем, что выражается в количестве часов в сутках и минут в часах, или, скажем, в том, что столовые приборы традиционно считают дюжинами или полудюжинами (а не десятками и пятерками). Так что само гю себе основание системы счисления не имеет значения — точнее, есть дело привычки и удобства. Однако такое положение справедливо лишь для ручного счета — для компьютеров выбор системы счисления имеет более важное значение. Попробуем ответить на вопрос — почему? Для этого нам придется сначала разобраться — как мы. собственно говоря, считаем, что при этом происходит, что такое вообще система счисления и ее основание.

Из понятия числа, как объективно существующей абстракции, вытекает, что его материальное представление может быть произвольным, лишь бы оно подчинялась тем же правилам, что и сами числа. Проще всего считать палочками (и в детском саду нас учат именно такому счету), в качестве которых могут выступать и пластмассовые стерженьки, и пальцы, и черточки на бумаге. Один — одна палочка, два — две палочки, десять — десять палочек. А сто палочек? Уже посчитать затруднительно, потому придумали сокращение записи: доходим до пяти палочек, ставим галочку, доходим до десяти — ставим крестик:

1

2

5

7

10

11

I

II

V

VII

X

XI

Узнаете? Конечно, это всем знакомая римская система, сохранившаяся до настоящих времен на циферблатах часов или в нумерации столетий. Она представляет собой пример непозиционной системы счисления — потому что значение определенного символа, обозначающего то или иное число, в ней не зависит от позиции относительно других символов — все значения в записи просто суммируются. То есть записи "XVIH" и "IIIXV" в принципе должны означать одно и то же. На самом деле это не совсем так: в современной традиции принято в целях сокращения записи использовать и позицию: скажем, в записи "IV" факт, что папочка стоит перед галочкой, а не после нее, означает придание ей отрицательного значения, т. е. в данном случае единица не прибавляется, а вычитается из пяти (то же самое относится и к записи девятки "IX"). Если вы человек наблюдательный, то могли заметить, что на часах четверку пишут почти всегда, как "НИ", а не как "IV", что, несомненно, более отвечает духу непозиционной системы. Однако при всех возможных отклонениях главным здесь остается факт, что в основе системы лежит операция суммирования.

Источник: Ревнч Ю. В.  Нестандартные приемы программирования на Delphi. — СПб.: БХВ-Петербург, 2005. — 560 е.: ил.

По теме:

  • Комментарии