Введение
Обозначения для представления чисел, представление чисел с помощью символов
expressing numbers with symbols
Система счисления — это система записи для представления чисел, то есть математическое обозначение для представления чисел заданного множества с использованием цифр или других символов последовательным образом. Одна и та же последовательность символов может представлять разные числа в разных системах счисления. Например, "11" представляет число одиннадцать в десятичной системе счисления (наиболее распространенная система в мире сегодня), число три в двоичной системе счисления (используется в современных компьютерах) и число два в унарной системе счисления (используется для подсчета). Число, которое представляет данная запись, называется его значением. Не все системы счисления могут представлять один и тот же набор чисел; например, римские цифры не могут представлять число ноль. В идеале, система счисления должна:
Представлять полезный набор чисел (например, все целые числа или рациональные числа)
Предоставлять каждому представленному числу уникальное представление (или, по крайней мере, стандартное представление)
Отражать алгебраическую и арифметическую структуру чисел. Например, обычное десятичное представление предоставляет каждому ненулевому натуральному числу уникальное представление в виде конечной последовательности цифр, начинающейся с ненулевой цифры. Системы счисления иногда называют системами чисел, но это название неоднозначно, поскольку оно может относиться к различным системам чисел, таким как система действительных чисел, система комплексных чисел, система p-адических чисел и т. д. Однако такие системы не являются темой данной статьи.
Represent a useful set of numbers (e. g. all integers, or rational numbers)
Give every number represented a unique representation (or at least a standard representation)
Reflect the algebraic and arithmetic structure of the numbers. For example, the usual decimal representation gives every nonzero natural number a unique representation as a finite sequence of digits, beginning with a non zero digit. Numeral systems are sometimes called number systems, but that name is ambiguous, as it could refer to different systems of numbers, such as the system of real numbers, the system of complex numbers, the system of p adic numbers, etc. Such systems are, however, not the topic of this article.
Основные системы счисления
Наиболее часто используемая система счисления — десятичная. Индийским математикам приписывают разработку целочисленной версии, индусско-арабской системы счисления. Арьябхата из Кусумапуры разработал позиционное обозначение в V веке, а столетие спустя Брахмагупта ввел символ нуля. Система медленно распространялась в другие окружающие регионы, такие как Аравия, благодаря их торговой и военной деятельности с Индией. Математики Ближнего Востока расширили систему, включив отрицательные степени 10 (дроби), как это зафиксировано в трактате сирийского математика Абу’ль Хасана аль-Уклидиси в 952–953 годах, а десятичная точка была введена Синдом ибн Али, который также написал самый ранний трактат об арабских цифрах. Индусско-арабская система счисления затем распространилась в Европу благодаря торговле, и цифры, используемые в Европе, называются арабскими цифрами, поскольку они узнали их от арабов. Самая простая система счисления — унитарная, в которой каждое натуральное число представлено соответствующим количеством символов. Если, например, выбрать символ |, то число семь будет представлено как |||||||. Такие системы, как счетные черты, до сих пор широко используются. Унитарная система полезна только для небольших чисел, хотя она играет важную роль в теоретической информатике. Кодирование Элиаса гамма, которое обычно используется в сжатии данных, выражает числа произвольного размера, используя унитарный код для указания длины двоичного числа. Унитарную нотацию можно сократить, введя различные символы для определенных новых значений. Очень часто эти значения являются степенями 10; так, например, если / означает один, − — десять, а + — сто, то число 304 можно компактно представить как ++++///, а число 123 — как +++/|||. Это называется знаково-значительной системой счисления. Древнеегипетская система счисления была такого типа, а римская система счисления — модификацией этой идеи. Еще более полезны системы, которые используют специальные сокращения для повторения символов; например, используя первые девять букв алфавита для этих сокращений, где A означает «одно вхождение», B — «два вхождения» и так далее, можно записать 304 как C+D/. Эта система используется при записи китайских цифр и других восточноазиатских цифр, основанных на китайском языке. Числовая система английского языка также относится к этому типу («триста [и] четыре»), как и системы других разговорных языков, независимо от используемых ими систем письменности. Однако многие языки используют смеси оснований и других особенностей; например, 79 во французском языке — soixante-dix-neuf (60 + 10 + 9), а в валлийском — pedwar ar bymtheg a thrigain (4 + (5 + 10) + (3 × 20)) или (несколько устаревшее) pedwar ugain namyn un (4 × 20 − 1). На английском языке можно сказать «четыре двадцатка минус один», как в знаменитой Геттисбергской речи, где «87 лет назад» представлено как «четыре двадцатка и семь лет назад». Более элегантной является позиционная система, также известная как система с позиционным значением. Опять же, работая в основании 10, используются десять различных цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, и позиция цифры используется для обозначения степени десятки, на которую она должна быть умножена, как в 304 или, точнее, 3 × 10² + 0 × 10¹ + 4 × 10⁰. Нуль, который не нужен в других системах, здесь имеет решающее значение, чтобы иметь возможность «пропускать» степень. Индусско-арабская система счисления, возникшая в Индии и используемая сейчас во всем мире, является позиционной системой с десятичным основанием. Арифметика в позиционных системах намного проще, чем в более ранних аддитивных системах; кроме того, аддитивным системам требуется большое количество различных символов для различных степеней 10, а позиционной системе требуется всего десять различных символов (при условии, что она использует основание 10). Позиционная десятичная система в настоящее время повсеместно используется в письменности. Основание 1000 также используется (хотя и не повсеместно), группируя цифры и рассматривая последовательность из трех десятичных цифр как одну цифру. Это значение общей нотации 1,000,234,567, используемой для очень больших чисел. В компьютерах основные системы счисления основаны на позиционной системе в основании 2 (двоичная система счисления) с двумя двоичными цифрами: 0 и 1. Обычно используются позиционные системы, полученные группировкой двоичных цифр по три (восьмеричная система счисления) или четыре (шестнадцатеричная система счисления). Для очень больших целых чисел используются основания 232 или 264 (группировка двоичных цифр по 32 или 64, длина машинного слова), как, например, в GMP. В определенных биологических системах используется унитарная система кодирования. Унитарные числа используются в нейронных цепях, ответственных за производство птичьих песен. Ядро в мозге певчих птиц, которое играет роль как в обучении, так и в производстве птичьих песен, — это HVC (центр высокой вокализации). Командные сигналы для разных нот в птичьей песне исходят из разных точек в HVC. Это кодирование работает как пространственное кодирование, которое является эффективной стратегией для биологических цепей благодаря своей внутренней простоте и надежности. Числа, используемые при записи чисел с помощью цифр или символов, можно разделить на два типа, которые можно назвать арифметическими числами (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и геометрическими числами (1, 10, 100, 1000, 10000 и т. д.) соответственно. Знаково-значительные системы используют только геометрические числа, а позиционные системы используют только арифметические числа. Знаково-значительной системе не нужны арифметические числа, потому что они создаются путем повторения (за исключением ионической системы), а позиционной системе не нужны геометрические числа, потому что они создаются положением. Однако разговорный язык использует как арифметические, так и геометрические числа. В некоторых областях информатики используется модифицированная позиционная система с основанием k, называемая биективной нумерацией, с цифрами 1, 2, ..., k (k ≥ 1), а ноль представлен пустой строкой. Это устанавливает биекцию между множеством всех таких цифровых строк и множеством неотрицательных целых чисел, избегая неоднозначности, вызванной ведущими нулями. Биективная нумерация в основании k также называется k-адической нотацией, которую не следует путать с p-адическими числами. Биективная нумерация в основании 1 совпадает с унитарной.