Ранее я уже писал о разных популярных и более-менее известных системах счисления: двоичной, троичной, четверичной, вспоминал исторические системы и виды нумерации: древнегреческую, древнерусскую цифирь, древнеримскую и пр. и даже писал о том, как можно с ними играться.
Сейчас я хочу рассказать об экзотических и неожиданных системах счисления.
Конечно же, таких экзотических систем, которые имели и до сих пор имеют реальное применение, гораздо больше, чем может показаться на первый взгляд. В древности нестандартные системы счисления могли возникать из-за особенностей языка. В нынешние времена математики и инженеры могут с помощью компьютеров легко «обкатывать» системы с любыми самыми экзотическими основаниями и применять эти системы в узких технических областях для решения специфических задач.
О восьмеричной системе обычно упоминают как об удобной промежуточной системе между двоичной и шестнадцатеричной, но есть один любопытный факт. Помимо общеизвестного использования в IT, она применялась в культуре коренных американцев — племени юки в Калифорнии. Они считали не по пальцам, а по промежуткам между пальцами, которых на руке восемь (промежутков, а не пальцев
).
Оказывается, одиннадцатеричная (undenary) система нашла внезапное применение в видео-инженерии. Использование такой системы описывается в одном из патентов на передачу цифрового видео. Там для передачи данных по кабелю применяется 11-уровневая амплитудная модуляция. Это позволяет упаковывать информацию в символы с основанием 11, что помогает снизить необходимую частоту передачи и обеспечивает совместимость с существующими стандартами.
Существуют неподтвержденные сведения, что народ пангва в Африке использовал систему с основанием 11.
Двенадцатеричная система – это обычная позиционная система с основанием 12 (дюжина).
В русском языке слово «дюжина» было заимствовано из французского языка (douzaine) или итальянского (dozzina), которые восходят к латинскому duodecim («двенадцать»). В Российской империи слово «дюжина» начало активно использоваться при Петре I. Дюжина — это не просто число, а удобная торговая единица, которая дожила до наших дней благодаря своей математической гибкости. В отличие от «круглого» числа 10, дюжину можно без остатка разделить на 2, 3, 4 и 6, что очень удобно для торговли и комплектации.
Считается, что возникла 12-ричная система в древнем Шумере. Одна из версий происхождения — метод пальцевого счёта, при котором большим пальцем руки отсчитывают фаланги четырёх пальцев (указательного, среднего, безымянного и мизинца). Таким образом, всего получается 12 фаланг. Позже двенадцатеричная система стала использоваться в Ассирии и Вавилоне для деления дня и ночи на 12 равных частей.
Я всё же думаю, что метод счёта по фалангам вторичен. Сначала люди поняли, что 12 – это удобнее, чем 10, а потом уже придумали более-менее удобный метод счёта в пределах дюжины на фалангах одной руки. Яйцо, как известно, было раньше курицы. Но я могу ошибаться :)
Для обозначения чисел в двенадцатеричной системе используют цифры 0123456789AB. Иногда для недостающих цифр применяют другие символы, например T (от англ. ten), D (от лат. decem), X (римское десять), E (от англ. eleven), O (от фр. onze).
В современности двенадцатеричная система в смешанном виде сохраняется в некоторых системах мер (например, в английской: 1 фут = 12 дюймов) и в измерении времени (сутки делятся на два периода по 12 часов, в часе 60 минут, которые легко делятся на 12).
Также элементы двенадцатеричной системы встречаются в быту:
Число 12 часто имело особое значение в мифологии, религии и литературе. Например, в древнегреческой мифологии пантеон состоял из 12 олимпийских богов, Геракл совершил 12 подвигов, а в Библии упоминаются 12 колен Израилевых и 12 пророков.
Ещё немного интересного про двенадцатеричную систему:
Таким образом, дюжина, лежащая в основе двенадцатеричной системы — это не просто абстрактная математическая концепция, но и отражение практических потребностей и культурных традиций разных народов.
В языке Хули папуасов Новой Гвинеи используется пятнадцатеричная система. Например, слово «ngui» означает 15, «ngui ki» — 30 (15×2), а «ngui ngui» — 225 (15×15) .
Самое известное использование 20-ричной системы было у индейцев Майя. Она была неоднородной, а выступала как часть смешанной системы «Длинного счёта». Числа первого разряда до 20 собирались на базе своеобразной непозиционной пятеричной системы, дальше шёл один 18-ричный разряд, а следующие несколько разрядов были двадцатеричными.
Менее известное, но зато более интересное применение 20-ричной системы появилось в конце XX века. В 1994 году учащимися школы города Кактовик (Аляска) под руководством учителя Уильяма Бартли была изобретена система, которая получила название по городу изобретения - кактовик. Местные жители испокон веков использовали 20-ричную систему, но при этом у них не было письменности.
Школьники адаптировали для записи чисел привычную инупиатам (инупиак) двадцатеричную (base-20) систему счисления с пятеричной базой. Арабские цифры, предназначенные для десятичной системы, для этого не подходили. Дизайн символов построен так, чтобы наглядно отражать структуру счёта: верхняя часть цифры обозначает пятёрки, нижняя — единицы. Цифры были специально разработаны так, чтобы быть интуитивными для визуального счёта, что значительно повысило успеваемость по математике среди учеников.
Например, цифра 7 состоит из верхнего штриха (пять) и двух нижних (два). Символ нуля был вдохновлён скрещёнными руками, что символизирует отсутствие считаемых объектов.
Эта система получила распространение среди инупиатов и была включена в учебные программы некоторых школ на Аляске, в Канаде и Гренландии. Её также поддерживают в рамках деятельности Инупиатской циркумполярной конференции.
Этот пример поразителен тем, что в 2022 году система была включена в стандарт Unicode, что позволяет использовать её на компьютерах и смартфонах. Это не просто экзотика, а ожившая традиция, шагнувшая в цифровую эпоху.
Как я и говорил ранее, упоминание самых невероятных систем счисления можно найти в учебных, занимательных и олимпиадных задачках по математике и информатике. Математика (сложение, вычитание, перевод чисел), заложенная при построении всех позиционных систем счисления, работает везде одинаково, поэтому применение экзотических систем в обучении является идеальным инструментом с точки зрения понимания общих принципов.
В русском языке много поговорок и устойчивых выражений, в которых упоминается семёрка:
Язык всегда выступает как огромный пласт, впитывающий знания и историю народа, создавшего этот язык. Поэтому такое частое упоминание числа «семь» в русских поговорках не может быть обыкновенной случайностью.
В большинстве поговорок число «семь» не несёт точного количественного смысла. Оно выступает как условная единица, обозначающая «очень много», «всё» или «слишком».
Многие исследователи полагают, что обилие «семёрок» в языке — это прямой отголосок той далекой эпохи, когда группа из семи предметов воспринималась как законченное множество, аналог нашего современного «десятка». Для нас сейчас вполне нормально вести счёт большого количества предметов десятками. А тогда в древности могли считать «семериками».
Это подтверждается и тем, что сакральное значение числа семь прослеживается у множества древних народов: в Древнем Вавилоне почитали семь планет, у древних евреев оно было связано с клятвой, а у древних семитов — с культом Луны и делением месяца на четыре семидневные фазы. Таким образом, наши поговорки могли сохранить память о той поре, когда «семь» было не просто числом, а мерой полноты, мерой «всего».
Второй, и, возможно, более мощный пласт, — это влияние христианства и более древних мифологических представлений, где число семь являлось символом полноты, завершённости и сакральности.
В нумерологии число 7 считается одним из самых глубоких и многогранных чисел. Если коротко, число 7 символизирует мудрость, самопознание и поиск скрытой истины, энергию анализа, интроспекции и интеллектуального одиночества, олицетворяет процесс мышления и познания, который лежит в основе многих наших абстрактных представлений о мире. Такое нумерологическое значение числа 7 идеально объясняет, почему в культуре оно стало символом всего таинственного и сложного, но при этом полного и завершённого.
Существует и очень любопытное, почти научное объяснение. Есть гипотеза, что предпочтение числа семь связано с особенностями человеческой психологии и восприятия. Известный в психологии «закон Миллера» гласит, что объём кратковременной памяти человека ограничен примерно 7-ю единицами информации. Грубо говоря, средний человек, быстро взглянув на кучу предметов, более семи из них воспринять как некое законченное множество, не может. Поэтому «семь» - это уже всё, полный горшочек, восемь вообще за гранью.
Таким образом, поговорки с «семеркой» — это своеобразный «архив» истории и культуры русского народа, вобравший в себя множество косвенных признаков «основательности» числа семь. Так что, хотя и не осталось прямых доказательств о существовании в прошлом семеричной системы счисления, она вполне могла быть.
Шестидесятеричная систему счисления (с основанием 60) — одна из древнейших и самых влиятельных систем в истории человечества. Мы пользуемся её наследием каждый день, даже не задумываясь.
Это единственная древняя система, которая не исчезла, а органично вписалась в нашу повседневность:
Система зародилась в Древнем Шумере (территория современного Ирака) около IV тысячелетия до н. э., а позже была подхвачена вавилонянами.
Почему выбрали число 60? Есть три основные теории:
Как это работало у вавилонян? В этом главная хитрость и одновременно сложность для современного человека. У них не было цифры «ноль» (до позднего периода). У них не было десятичной запятой. Но это была позиционная система, значение цифры зависело от её позиции (как у нас: в числе 111 первая единица — сотни, вторая — десятки, третья – единицы), но основание было не 10, а 60.
Пример: запись, которую мы условно переведем как «1 20», могла означать: 1×60+20=80 (если это единицы и 60-ки) или 1×3600+20×60=4800 (если это 60-ки и 3600-ки). Контекст (шла речь о десятках или тысячах) был критически важен. Для чисел от 1 до 59 они использовали привычную десятичную систему (клиньями на глиняных табличках: вертикальный клин — 1, горизонтальный — 10).
Почему она исчезла (как основная)? С приходом эллинизма и Рима математикам понадобилась большая точность в дробях. Вавилонская система была громоздкой для записи больших чисел, а отсутствие нуля создавало путаницу. Её вытеснила индо-арабская десятичная система (с нулем и позиционным принципом по основанию 10), которая была проще для записи любых сколь угодно больших чисел.
Однако астрономы, которые уже рассчитали по ней траектории планет, отказались переучиваться. Они просто взяли вавилонские дробные части (минуты и секунды) и прикрутили их к десятичной системе. Так 60-ричная система сохранилась в измерении времени и углов навсегда.
Сегодняшняя запись времени (например, 2:30:45) — это смешанная система:
Это наследие шумеров, которое пережило все империи и которое мы используем, когда ставим таймер или смотрим на карту.
Кстати, переводить число из десятичной системы в любую другую бОльшую очень легко. Делим в столбик наше число на основание нужной системы счисления, пока делится. Затем записываем остатки от деления задом наперёд. И не забываем конвертировать полученные остатки в «цифры» требуемой системы счисления. В системах с основанием больше 10 в качестве следующих за привычными цифрами 0123456789 обычно используются «цифры» из латинских букв. Как мы помним, в шестнадцатеричной системе для этого задействованы символы ABCDEF. Если задействовать все латинские буквы ABCDEFGHIJKLMNOPQRSTUVWXYZ, то ими можно будет записывать числа до 36-ричной системы включительно.
Например, хотим мы перевести число 2027 из десятичной системы в 27-ричную. Делим `2027:27=75(2` ост`)`, `75:27=2(21` ост`)`, `2:27=0(2` ост`)`. Получили три остатка `2,21,2`. 21 - это цифра L 27-ричной системы. Записываем остатки задом наперёд и получаем `2L2_27`.
Для систем счисления с основанием >36 десятичные цифры и латинские буквы заканчиваются, поэтому записывать такие числа становится не очень удобно, вернее, непонятно как. Но люди уже подумали над этим и придумали несколько способов записи таких чисел.
Например, рассмотрим, как можно записать число `2027_64`. Считаем остатки: 2027:64=31(43 ост), 31:64=0(31 ост). Записываем их задом наперёд: 31,43. Обычно при записи такого числа эти остатки (десятичные значения цифр) просто пишут в скобках через запятую, а за скобками пишут основание системы:
Либо каждый разряд числа пишут в квадратных скобках.
Это более-менее принятые и понятные специалистам варианты записи. Но можно придумать и что-то другое. Например, взять за основу кодировку, используемую в Base64.
В ней используется специальный набор из 64 символов: по 26 больших и маленьких латинских букв, 10 обычных цифр и два знака + и /. В этой системе записи 2027 будет выглядеть так:
Можно пойти ещё дальше и придумать свою собственную таблицу с блэкджеком и шл..., в которой просто продолжать «генерировать» цифры после Z другими буквами, например, строчными латинскими, греческими, кириллическими и т.п. (китайскими иероглифами
)
При помощи таблицы выше можно записывать цифры до 180-ричной системы включительно.
Но такая запись скорее всего вызовет путаницу, т.к. много символов выглядят одинаково, хотя с точки зрения компьютера и имеют разные коды. Поэтому применять её можно только в чисто теоретических задачах или шутках. В общем, как мы любим
.
Я уже писал о ней ранее на страничке про шифры и кодировки, но не могу не повториться. Это не совсем система счисления, а скорее некий экзотический способ записи чисел.
В XIII веке цистерцианскими монахами был придуман довольно простой способ записывать числа от 1 до 9999. Кодовая таблица представляла собой 4 ряда символов – для единиц, десятков, сотен и тысяч. Символы накладывались друг на друга и таким образом для каждого числа собирался уникальный символ. По факту это получался шифр для кодирования чисел.
Немецкий гуманист Агриппа Неттесгеймский называл такое счисление сверхэлегантным («Notae Elegantissimae») и включил описание этих шифров в свои «Три книги по оккультной философии» (1531). Интерес к данной системе счисления также выказывали масоны, оккультисты и нацисты. «Цистерцианские шифры» были вытеснены арабскими цифрами, поскольку не обеспечивали простоту арифметических действий – попробуйте например выполнить сложение в столбик.
Монахи тогда ещё не знали о нуле, который «придумали» арабы чуть позже. Сейчас мы о нём знаем. И видим, что роль нуля в цистерцианском шифре выполняет вертикальная линия, на которую «навешиваются» остальные штрихи. Так что по факту мы можем использовать этот способ записи для создания самой настоящей 10000-ричной системы. В диапазоне 0-9999 используются цистерцианские цифры, а затем вступает в силу классическая математика любой позиционной системы: сдвиг к следующему разряду будет означать умножение на 10000.
Конечно, мир систем счисления этим не ограничивается. Существуют и другие, поистине удивительные конструкции, каждая из которых была придумана для решения определенных задач или обладает уникальными свойствами.
Поначалу это может показаться курьёзом и даже нонсенсом. Может ли существовать система счисления с отрицательным основанием? Или с основанием в виде числа φ? Или с двумя основаниями? Да, легко!
Действительно, в математике ничто не мешает взять в качестве основания системы счисления любое число, даже отрицательное или иррациональное. Главное, чтобы на его основе можно было построить более-менее полную систему записи чисел.
Одним из самых известных примеров является система счисления с основанием, равным золотому сечению (число φ ≈ 1.618). Она известна как «Система счисления Фи» (Phi number system) или «Коды золотого сечения». В ней для записи чисел используются только цифры 0 и 1, а само основание — иррациональное число φ. Удивительно, но в этой системе любое целое положительное число можно записать без дробной части, используя только нули и единицы.
Ещё один яркий пример, расширяющий вышеупомянутую систему Фи — это системы с иррациональным основанием, которое является корнем квадратного уравнения. Например, основание равное числу Пизо. Число Фи является одним из таких чисел Пизо. Если взять за основание любое PV-число в интервале от 1 до 2, то любое целое число можно представить в виде последовательности из 0 и 1, что очень напоминает привычную двоичную систему.
Нега-позиционные системы – это системы, где основание — отрицательное число (например, -2, -3, -10). Их главная особенность — отсутствие отдельного знака «минус» для отрицательных чисел. Знак числа определяется автоматически: если в записи числа нечетное количество цифр, число положительное, если четное — отрицательное.
Как это работает: Возьмем основание -10. Запись числа 245₋₁₀ расшифровывается как 2*(-10)² + 4*(-10)¹ + 5*(-10)⁰ = 200 - 40 + 5 = 165₁₀. А запись числа 46₋₁₀ даст 4*(-10)¹ + 6*(-10)⁰ = -40 + 6 = -34₁₀ .
Эти системы были предложены еще в 1885 году итальянским математиком Витторио Грюнвальдом. Несмотря на свою экзотичность, в середине XX века в Польше был создан компьютер, использующий нега-двоичную арифметику. Однако широкого распространения такие системы не получили из-за того, что запись чисел часто становится длиннее, а арифметические операции — сложнее.
Это системы с обычными основаниями, в которых используются симметричные цифры. Например, троичная уравновешенная система с цифрами -1, 0, 1. Вместо -1 часто используют символы Ī или T. Или как в советском компьютере «Сетунь», 1 0 1. Использование «отрицательных цифр» позволяет записывать отрицательные числа без отдельного знака минус, так же как и в нега-позиционных системах, но с положительным основанием.
Это одна из самых необычных систем, потому что в ней основания для каждого разряда разные. Вес разряда определяется факториалом числа. Для i-го разряда (нумерация с 1) вес равен i!.
Как это работает: Число 1345_ф расшифровывается как 1*4! + 3*3! + 4*2! + 5*1! = 1*24 + 3*6 + 4*2 + 5*1 = 55₁₀.
Уникальность: В этой системе каждое натуральное число имеет ровно одно представление.
У этой системы есть очень специфическое применение — она используется в комбинаторике для нумерации перестановок. Существует прямая связь между записью числа в факториальной системе и его порядковым номером среди всех перестановок множества. Это позволяет, например, по номеру перестановки восстановить её саму.
Как видите, мир систем счисления гораздо шире привычных нам десятичной, двоичной и шестнадцатеричной. Эти примеры показывают, что системы счисления — это не просто скучная школьная тема, а обширное поле для математических и инженерных экспериментов, которые иногда находят очень неожиданные применения.