Введение

Метод представления или кодирования чисел

Позиционная нотация (или система счисления с местозначением, или позиционная система чисел) обычно обозначает расширение на любое основание индусско-арабской системы чисел (или десятичной системы). В более общем смысле, позиционная система – это система счисления, в которой вклад цифры в значение числа равен значению цифры, умноженному на множитель, определяемый её позицией. В ранних системах счисления, таких как римские цифры, цифра имеет только одно значение: I означает один, X – десять, а C – сто (однако значение может быть отрицательным, если оно стоит перед другой цифрой). В современных позиционных системах, таких как десятичная система, позиция цифры означает, что её значение должно быть умножено на определённую величину: в числе 555 три одинаковых символа представляют пять сотен, пять десятков и пять единиц соответственно, благодаря их различным позициям в числовой записи. Вавилонская система счисления с основанием 60 была первой разработанной позиционной системой, и её влияние ощущается и сегодня в способах подсчёта времени и углов, связанных с числом 60, например, 60 минут в часе и 360 градусов в окружности. Сегодня индусско-арабская система счисления (с основанием десять) является наиболее распространённой системой в мире. Однако двоичная система счисления (с основанием два) используется почти во всех компьютерах и электронных устройствах, поскольку её легче эффективно реализовать в электронных схемах. Описаны системы с отрицательным основанием, комплексным основанием или отрицательными цифрами. Большинство из них не требуют знака минус для обозначения отрицательных чисел. Использование разделителя целой и дробной части (десятичной точки в десятичной системе) распространяется на представление дробей и позволяет представлять любое действительное число с произвольной точностью. Позиционная нотация значительно упрощает арифметические вычисления по сравнению с любыми более старыми системами счисления, что привело к её быстрому распространению после появления в Западной Европе.

История

Сегодня десятичная система, которая, предположительно, возникла из-за счета с помощью десяти пальцев, является повсеместной. В прошлом использовались и другие системы счисления, некоторые из которых применяются и по сей день. Например, вавилонская система счисления, которую считают первой позиционной системой, имела основание 60. Однако в ней отсутствовал настоящий ноль. Изначально его можно было определить только из контекста, но позже, примерно к 700 году до н.э., ноль стали обозначать «пробелом» или «знаком препинания» (например, двумя наклонными клиньями) между числами. Это был скорее разделитель, чем истинный ноль, поскольку он не использовался самостоятельно или в конце числа. Числа, такие как 2 и 120 (2×60), выглядели одинаково, так как большему числу не хватало конечного разделителя. Различать их можно было только по контексту. Полимат Архимед (ок. 287–212 гг. до н.э.) изобрел десятичную позиционную систему в своем труде «Счетчик песка», основанную на 10⁸, что впоследствии заставило немецкого математика Карла Фридриха Гаусса сожалеть о том, каких высот достигла бы наука в его время, если бы Архимед полностью раскрыл потенциал своего гениального открытия. Эллинистические и римские астрономы использовали систему с основанием 60, основанную на вавилонской модели (см.). До того, как позиционная запись стала стандартной, использовались простые аддитивные системы (счет с помощью знаков), такие как римские цифры, а бухгалтеры в Древнем Риме и в Средние века использовали абаки или счетные камешки для арифметических вычислений. Счетные палочки и большинство абаков использовались для представления чисел в позиционной системе счисления. С помощью счетных палочек или абака для выполнения арифметических операций запись начальных, промежуточных и конечных значений вычисления можно было легко выполнить с помощью простой аддитивной системы в каждой позиции или столбце. Этот подход не требовал запоминания таблиц (как позиционная запись) и мог быстро давать практические результаты. Самая старая сохранившаяся позиционная система обозначения – это либо китайская система счетных палочек, используемая, по крайней мере, с начала VIII века, либо, возможно, кхмерская система счисления, демонстрирующая возможное использование позиционных чисел уже в VII веке. Кхмерские цифры и другие индийские цифры происходят от цифр брахми примерно III века до н.э., символы которых в то время не использовались позиционно. Средневековые индийские цифры позиционны, как и производные от них арабские цифры, зафиксированные с X века. После Французской революции (1789–1799) новое французское правительство продвигало расширение десятичной системы. Некоторые из этих усилий по внедрению десятичной системы – такие как десятичное время и десятичный календарь – не увенчались успехом. Другие французские инициативы в области десятичной системы – десятичная валюта и метрическая система мер и весов – широко распространились за пределы Франции, охватив почти весь мир.

История позиционных дробей

Дж. Леннарт Берггрен отмечает, что позиционные десятичные дроби впервые использовались арабским математиком Абу'ль Хасаном аль-Уклидиси еще в X веке. Еврейский математик Иммануэль Бонфильс использовал десятичные дроби около 1350 года, но не разработал обозначений для их представления. Персидский математик Джамшид аль-Каши сделал аналогичное открытие десятичных дробей в XV веке. Эта форма дроби, с числителем над знаменателем без горизонтальной черты, также использовалась Абу'ль Хасаном аль-Уклидиси в X веке и в работе Джамшида аль-Каши "Арифметический ключ" XV века. Принятие десятичного представления чисел, меньших единицы, то есть дробей, часто приписывается Симону Стевину в его учебнике De Thiende; однако и Стевин, и Э. Й. Дейкстерхуис указывают на вклад Региомонтана в распространение десятичных чисел в Европе: европейские математики, переняв у индусов, через арабов, идею позиционной системы счисления для целых чисел, не стали распространять эту идею на дроби. На протяжении нескольких столетий они ограничивались использованием обыкновенных и шестидесятеричных дробей. Эта незавершенность сохраняется и по сей день, и шестидесятеричные дроби по-прежнему лежат в основе нашей тригонометрии, астрономии и измерения времени. ¶ Математики стремились избегать дробей, принимая радиус R равным числу единиц длины вида 10n, а затем выбирая для n достаточно большое целое значение, чтобы все возникающие величины можно было выразить с достаточной точностью целыми числами. Первым, кто применил этот метод, был немецкий астроном Региомонтан. В той мере, в какой он выражал гониометрические отрезки в единицах R/10n, Региомонтана можно считать предтечей учения о десятичных позиционных дробях. Например, восьмеричное число 238 содержит две цифры: "2" и "3", а также основание (в виде нижнего индекса) "8". При переводе в десятичную систему счисления число 238 эквивалентно 1910, то есть 2388 = 1910. В нашей нотации здесь нижний индекс "8" числа 238 является частью числа, но это не всегда так. Представьте себе число "23" с неопределенным основанием. Тогда "23" может быть представлено в любой системе счисления с основанием 4 и выше. В системе с основанием 4 число "23" означает 1110, то есть 234 = 1110. В системе с основанием 60 число "23" означает число 12310, то есть 2360 = 12310. Таким образом, число "23" в данном случае соответствует множеству десятичных чисел {11, 13, 15, 17, 19, 21, 23, ..., 121, 123}, в то время как цифры "2" и "3" всегда сохраняют свое первоначальное значение: "2" означает "два из", а "3" означает "три из". В некоторых приложениях, когда число с фиксированным количеством позиций должно представлять большее число, можно использовать систему счисления с большим основанием и большим количеством цифр в каждой позиции. Трехзначное десятичное число может представлять только числа до 999. Но если увеличить основание до 11, например, добавив цифру "А", то те же три позиции, максимальное значение которых будет "AAA", смогут представлять число, равное 1330. Мы могли бы снова увеличить основание и присвоить "B" значение 11 и так далее (но также существует возможное шифрование между числом и цифрой в иерархии числовых и цифровых обозначений). Трехзначное число "ZZZ" в системе с основанием 60 может означать 215999. Если мы используем всю коллекцию буквенно-цифровых символов, мы в конечном итоге сможем использовать систему счисления с основанием 62, но мы удаляем две цифры, заглавную "I" и заглавную "O", чтобы избежать путаницы с цифрами "1" и "0". В результате остается система с основанием 60, или шестидесятеричная система счисления, использующая 60 из 62 стандартных буквенно-цифровых символов. (Но см. раздел "Шестидесятеричная система" ниже.) В общем, количество возможных значений, которые могут быть представлены цифрой в системе с основанием , равно . Распространенные системы счисления в информатике — двоичная (основание 2), восьмеричная (основание 8) и шестнадцатеричная (основание 16). В двоичной системе используются только цифры "0" и "1". В восьмеричной системе используются восемь цифр: 0–7. В шестнадцатеричной системе используются цифры 0–9 и буквы A–F, где цифры сохраняют свое обычное значение, а буквы соответствуют значениям 10–15, в общей сложности шестнадцать цифр. Число "10" в двоичной системе — это "2", в восьмеричной — "8", а в шестнадцатеричной — "16".

Точка радикса

Обозначение можно расширить на отрицательные степени основания b. Для этого используется так называемая точка радикса, чаще всего «.», как разделитель между позициями с неотрицательными и отрицательными степенями. Числа, не являющиеся целыми, используют разряды после точки радикса. Для каждого разряда после этой точки (и, следовательно, после разряда единиц), степень n в выражении bn уменьшается на 1 и стремится к 0. Например, число 2.35 равно:

Подпись

Если основание и все цифры в наборе цифр неотрицательны, отрицательные числа не могут быть представлены. Чтобы это преодолеть, в систему счисления добавляется знак минуса, здесь «». В стандартной записи он ставится перед строкой цифр, представляющей в противном случае неотрицательное число.

Сексагезимальная система

Сексагезимальная система, или система с основанием 60, использовалась для целой и дробной частей вавилонских чисел и других месопотамских систем, эллинистическими астрономами (причем только для дробной части использовались греческие цифры), и до сих пор применяется для измерения времени и углов, но лишь для минут и секунд. Однако не все эти применения были позиционными. Современное время разделяет разряды двоеточием или штрихом. Например, время может быть указано как 10:25:59 (10 часов 25 минут 59 секунд). Аналогичная нотация используется и для углов. Например, угол может быть 10°25′59″ (10 градусов 25 минут 59 секунд). В обоих случаях сексагезимальная нотация применяется только к минутам и секундам – угловые градусы могут превышать 59 (полный оборот круга составляет 360°, два оборота – 720° и т.д.), а время и углы используют десятичные доли секунды. Это отличается от чисел, использовавшихся эллинистическими и астрономами эпохи Возрождения, которые для более точных измерений применяли трети, четверти и т.п. Там, где мы можем записать 10°25′59.392″, они могли бы записать или 10°25i59ii23iii31iv12v. Использование набора цифр, включающего строчные и прописные буквы, позволяет сокращенно записывать числа в сексагезимальной системе, например, 10:25:59 можно записать как 'ARz' (исключая I и O, но не i и o), что удобно для использования в URL-адресах и т.п., однако такая запись малопонятна для человека. В 1930-х годах Отто Нойгебауэр предложил современную систему обозначения вавилонских и эллинистических чисел, заменяющую десятичные числа от 0 до 59 в каждом разряде, при этом для разделения целой и дробной частей используется точка с запятой (;), а для разделения разрядов внутри каждой части – запятая (,). Например, средний синодический месяц, использовавшийся как вавилонскими, так и эллинистическими астрономами и до сих пор применяемый в еврейском календаре, составляет 29;31,50,8,20 дней, а угол из приведенного выше примера будет записан как 10;25,59,23,31,12 градусов.

Вычислительные технологии

В вычислительной технике наиболее часто используются двоичная (основание 2), восьмеричная (основание 8) и шестнадцатеричная (основание 16) системы счисления. Компьютеры, на самом базовом уровне, работают только с последовательностями нулей и единиц, поэтому в этом смысле удобнее использовать степени двойки. Шестнадцатеричная система используется как сокращенная запись для двоичной – каждые 4 двоичных разряда (бита) соответствуют одному и только одному шестнадцатеричному разряду. В шестнадцатеричной системе шесть разрядов после 9 обозначаются буквами A, B, C, D, E и F (а иногда a, b, c, d, e и f). Восьмеричная система счисления также используется как еще один способ представления двоичных чисел. В этом случае основание равно 8, и поэтому используются только цифры 0, 1, 2, 3, 4, 5, 6 и 7. При преобразовании из двоичной в восьмеричную каждый 3 бита соответствуют одному и только одному восьмеричному разряду. Шестнадцатеричные, десятичные, восьмеричные и множество других систем счисления использовались для кодирования двоичного текста, реализации арифметики произвольной точности и других приложений. Список систем счисления и их применения см. в статье «Список систем счисления».

Другие основы человеческого языка

Системы с основанием 12 (двенадцатеричные или дуодецимальные) были популярны, поскольку умножение и деление в них проще, чем в десятичной системе, а сложение и вычитание столь же легки. Двенадцать – удобное основание, так как имеет много делителей. Это наименьшее общее кратное чисел 1, 2, 3, 4 и 6. В английском языке до сих пор существует специальное слово для обозначения "дюжины", и по аналогии со словом для 100 – "сотня", в торговле появилось слово для 144 – "gross". Стандартные 12-часовые часы и частое использование числа 12 в английских единицах измерения подчеркивают полезность этого основания. Кроме того, до перехода на десятичную систему британская валюта фунт стерлингов (GBP) частично использовала основание 12: в одном шиллинге (s) было 12 пенсов (d), в одном фунте (£) – 20 шиллингов, а значит, в одном фунте – 240 пенсов. Отсюда и обозначение LSD или, более правильно, £sd. Цивилизация майя и другие цивилизации доколумбовой Мезоамерики использовали основание 20 (вигезимальное), как и некоторые североамериканские племена (в частности, два племени в южной Калифорнии). Свидетельства вигезимальных систем счисления встречаются также в языках центральной и западной Африки. Следы галльской вигезимальной системы сохранились и во французском языке, что проявляется в названиях чисел от 60 до 99. Например, шестьдесят пять – soixante cinq (буквально "шестьдесят [и] пять"), а семьдесят пять – soixante quinze (буквально "шестьдесят [и] пятнадцать"). Более того, для любого числа от 80 до 99 число в "десяточном разряде" выражается как кратное двадцати. Например, восемьдесят два – quatre vingt deux (буквально "четыре двадцати [и] два"), а девяносто два – quatre vingt douze (буквально "четыре двадцати [и] двенадцать"). В старофранцузском сорок выражалось как "два двадцати", а шестьдесят – как "три двадцати", поэтому пятьдесят три выражалось как "два двадцати [и] тринадцать" и так далее. В английском языке тот же вигезимальный счет проявляется в использовании слова "score" (двадцать). Хотя в основном это историзм, он иногда используется в разговорной речи. 10-й стих 90-го Псалма в Библии (версия короля Иакова) начинается так: "Дни лет наших – семьдесят лет, а при большей крепости – восемьдесят лет; но лучшие из них – труд и скорбь". Начало Геттисбергской речи: "Четыреста семь лет назад…". Ирландский язык также использовал основание 20 в прошлом: двадцать – fichid, сорок – dhá fhichid, шестьдесят – trí fhichid, а восемьдесят – ceithre fhichid. Следы этой системы можно увидеть в современном слове для 40 – daoichead. В валлийском языке по-прежнему используется вигезимальная система счисления, особенно при указании возраста, дат и в распространенных фразах. Число 15 также важно, а числа от 16 до 19 выражаются как "один на 15", "два на 15" и т.д. Число 18 обычно выражается как "два девяти". Обычно используется десятичная система. Языки инуитов используют вигезимальную систему счисления. Ученики из Кактовика (Аляска) изобрели вигезимальную систему счисления в 1994 году. Датские числительные имеют аналогичную структуру, основанную на числе 20. В языке маори (Новая Зеландия) также есть свидетельства базовой вигезимальной системы, что проявляется в терминах Te Hokowhitu a Tu (военный отряд, буквально "семь двадцати Ту") и Tama hokotahi (великий воин, буквально "один человек, равный двадцати"). Двоичная система использовалась в Древнем царстве Египта (3000–2050 гг. до н.э.). Она заключалась в округлении рациональных чисел, меньших 1, до ближайших 1/2, 1/4, 1/8, 1/16, 1/32 и 1/64, при этом член 1/64 отбрасывался (система называлась "Око Гора"). В ряде языков австралийских аборигенов используются двоичные или близкие к двоичным системы счисления. Например, в языке Kala Lagaw Ya числа от одного до шести – urapon, ukasar, ukasar urapon, ukasar ukasar, ukasar ukasar urapon, ukasar ukasar ukasar. Коренные народы Северной и Центральной Америки использовали основание 4 (четверичное) для обозначения четырех сторон света. Мезоамериканцы часто добавляли вторую систему с основанием 5, чтобы создать модифицированную вигезимальную систему. Система с основанием 5 (квинарная) использовалась во многих культурах для счета. Очевидно, что она основана на количестве пальцев на руке человека. Ее также можно рассматривать как подбазу других систем, таких как десятичная, вигезимальная и шестидесятеричная. Племя Юки из Северной Калифорнии разработало восьмеричную систему (октальную), используя промежутки между пальцами для счета, соответствующие цифрам от одного до восьми. Существуют также лингвистические данные, свидетельствующие о том, что протоиндоевропейцы бронзового века (от которых произошли большинство европейских и индийских языков) могли заменить восьмеричную систему (или систему, которая могла считать только до 8) на десятичную. Свидетельством этого является то, что слово для обозначения 9 – newm – предположительно происходит от слова "новый" – newo, что указывает на то, что число 9 было недавно изобретено и названо "новым числом". Многие древние системы счисления используют число пять в качестве основной базы, что, несомненно, связано с количеством пальцев на руке человека. Часто эти системы дополняются вторичной базой, иногда десятичной, иногда двадцатичной. В некоторых африканских языках слово для обозначения пяти совпадает со словом "рука" или "кулак" (язык дьола в Гвинее-Бисау, язык банда в Центральной Африке). Счет продолжается путем добавления 1, 2, 3 или 4 к комбинациям из 5, пока не будет достигнута вторичная база. В случае двадцати это слово часто означает "полный человек". Эта система называется квинквавигезимальной. Она встречается во многих языках региона Судана. Язык телефол, на котором говорят в Папуа – Новой Гвинее, примечателен тем, что имеет вигезимасемичную систему счисления.

Непозиционные позиции

Каждая позиция не обязательно должна быть позиционной сама по себе. Вавилонские сексагесимальные числа были позиционными, но в каждой позиции использовались группы из двух видов клиновидных знаков, обозначающих единицы и десятки (узкий вертикальный клин | для единицы и открытый клин, направленный влево ⟨ для десятки) — до 5+9=14 символов в позиции (то есть 5 десятков ⟨⟨⟨⟨⟨ и 9 единиц ||||||||| группировались в один или два почти квадрата, содержащих до трех ярусов символов, или использовался пропуск (\\) для обозначения отсутствия значения в позиции). Эллинистические астрономы использовали для каждой позиции одну или две греческие буквы, представляющие числа (одну из 5 букв, обозначающих 10–50, и/или одну из 9 букв, обозначающих 1–9, или символ нуля).