Русская Википедия:Система счисления

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Системы счисления

Систе́ма счисле́ния (Шаблон:Lang-en или Шаблон:Lang-en2) — символический метод записи чисел, представление чисел с помощью письменных знаков.

Система счисления:

Системы счисления подразделяются на:

Позиционные системы счисления

Шаблон:Main

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

Под позиционной системой счисления обычно понимается <math>b</math>-ичная система счисления, которая определяется целым числом <math>b>1</math>, называемым основанием системы счисления. Целое число без знака <math>x</math> в <math>b</math>-ичной системе счисления представляется в виде конечной линейной комбинации степеней числа <math>b</math>:

<math>x = \sum_{k=0}^{n-1} a_k b^k</math>, где <math>a_k</math> — это целые числа, называемые цифрами, удовлетворяющие неравенству <math>0 \leq a_k \leq (b-1)</math>.

Каждая степень <math>b^k</math> в такой записи называется весовым коэффициентом разряда. Старшинство разрядов и соответствующих им цифр определяется значением показателя <math>k</math> (номером разряда). Обычно в записи ненулевых чисел начальные нули опускаются.

Если не возникает разночтений (например, когда все цифры представляются в виде уникальных письменных знаков), число <math>x</math> записывают в виде последовательности его <math>b</math>-ичных цифр, перечисляемых по убыванию старшинства разрядов слева направо:

<math>x = a_{n-1} a_{n-2}\dots a_0.</math>

Например, число сто три представляется в десятичной системе счисления в виде:

<math> 103 = 1 \cdot 10^{2} + 0 \cdot 10^{1} + 3 \cdot 10^{0}.</math>

Наиболее часто употребляемыми в настоящее время позиционными системами являются:

В позиционных системах чем больше основание системы счисления, тем меньшее количество разрядов (то есть записываемых цифр) требуется при записи числа.

Смешанные системы счисления

Смешанная система счисления является обобщением <math>b</math>-ичной системы счисления и также зачастую относится к позиционным системам счисления. Основанием смешанной системы счисления является возрастающая последовательность чисел <math>\{b_k\}_{k=0}^{\infty}</math>, и каждое число <math>x</math> в ней представляется как линейная комбинация:

<math>x = \sum_{k=0}^{n-1} a_{k}b_k</math>, где на коэффициенты <math>a_{k}</math>, называемые как и прежде цифрами, накладываются некоторые ограничения.

Записью числа <math>x</math> в смешанной системе счисления называется перечисление его цифр в порядке уменьшения индекса <math>k</math>, начиная с первого ненулевого.

В зависимости от вида <math>b_k</math> как функции от <math>k</math> смешанные системы счисления могут быть степенными, показательными и т. п. Когда <math>b_k=b^k</math> для некоторого <math>b</math>, смешанная система счисления совпадает с показательной <math>b</math>-ичной системой счисления.

Наиболее известным примером смешанной системы счисления является представление времени в виде количества суток, часов, минут и секунд. При этом величина «<math>d</math> дней, <math>h</math> часов, <math>m</math> минут, <math>s</math> секунд» соответствует значению <math>d\cdot 24\cdot 60\cdot 60 + h\cdot 60\cdot 60 + m\cdot 60 + s</math> секунд.

Факториальная система счисления

В факториальной системе счисления основаниями являются последовательность факториалов <math>b_k=k!</math>, и каждое натуральное число <math>x</math> представляется в виде:

<math>x = \sum_{k=1}^n d_k k!</math>, где <math>0\leq d_k \leq k</math>.

Факториальная система счисления используется при декодировании перестановок списками инверсий: имея номер перестановки, можно воспроизвести её саму следующим образом: номер перестановки (нумерация начинается с нуля) записывается в факториальной системе счисления, при этом коэффициент при числе <math>i!</math> будет обозначать число инверсий для элемента <math>i+1 </math> в том множестве, в котором производятся перестановки (число элементов меньших <math>i+1</math>, но стоящих правее его в искомой перестановке).

Пример: рассмотрим множество перестановок из 5 элементов, всего их 5! = 120 (от перестановки с номером 0 — (1,2,3,4,5) до перестановки с номером 119 — (5,4,3,2,1)), найдём перестановку с номером 100:

<math>100 = 4!\cdot 4 + 3!\cdot 0 + 2!\cdot 2 + 1!\cdot 0 = 96 + 4;</math>

положим <math>t_i</math> — коэффициент при числе <math>i!</math>, тогда <math>t_4 = 4</math>, <math>t_3 = 0</math>, <math>t_2 = 2</math>, <math>t_1 = 0</math>, тогда: число элементов меньших 5, но стоящих правее равно 4; число элементов меньших 4, но стоящих правее равно 0; число элементов меньших 3, но стоящих правее равно 2; число элементов меньших 2, но стоящих правее равно 0 (последний элемент в перестановке «ставится» на единственное оставшееся место) — таким образом, перестановка с номером 100 будет иметь вид: (5,3,1,2,4) Проверка данного метода может быть осуществлена путём непосредственного подсчёта инверсий для каждого элемента перестановки.

Фибоначчиева система счисления

Шаблон:Main Фибоначчиева система счисления основывается на числах Фибоначчи. Каждое натуральное число <math>n</math> в ней представляется в виде:

<math>n = \sum_{k} f_k F_k</math>, где <math>F_k</math> — числа Фибоначчи, <math>f_k\in\{0,1\}</math>, при этом в коэффициентах <math>f_k</math> есть конечное количество единиц и не встречаются две единицы подряд.

Непозиционные системы счисления

В непозиционных системах счисления величина, которую обозначает цифра, не зависит от положения в числе. При этом система может накладывать ограничения на положение цифр, например, чтобы они были расположены в порядке убывания.

К наиболее распространённым сегодня непозиционным системам счисления относятся римские цифры.

Биномиальная система счисления

В en (Combinatorial number system) число x представляется в виде суммы биномиальных коэффициентов:

<math>x = \sum_{k=1}^n {c_k\choose k}</math>, где <math>0\leq c_1 < c_2 < \dots < c_n.</math>

При всяком фиксированном значении <math>n</math> каждое натуральное число представляется уникальным образом.[1]

Система остаточных классов (СОК)

Шаблон:Main Представление числа в системе остаточных классов основано на понятии вычета и китайской теореме об остатках. СОК определяется набором попарно взаимно простых модулей <math>(m_1, m_2, \dots, m_n)</math> с произведением <math>M=m_1\cdot m_2\cdot \dots\cdot m_n</math> так, что каждому целому числу <math>x</math> из отрезка <math>[0,M-1]</math> ставится в соответствие набор вычетов <math>(x_1, x_2, \dots, x_n)</math>, где

<math>x \equiv x_1 \pmod{m_1};</math>
<math>x \equiv x_2 \pmod{m_2};</math>
<math>x \equiv x_n \pmod{m_n}.</math>

При этом китайская теорема об остатках гарантирует однозначность представления для чисел из отрезка <math>[0,M-1]</math>.

В СОК арифметические операции (сложение, вычитание, умножение, деление) выполняются покомпонентно, если про результат известно, что он является целочисленным и также лежит в <math>[0,M-1]</math>.

Недостатками СОК является возможность представления только ограниченного количества чисел, а также отсутствие эффективных алгоритмов для сравнения чисел, представленных в СОК. Сравнение обычно осуществляется через перевод аргументов из СОК в смешанную систему счисления по основаниям <math>(m_1, m_1\cdot m_2, \dots, m_1\cdot m_2\cdot\dots\cdot m_{n-1})</math>.

Система счисления Штерна-Броко

Система счисления Штерна-Броко — способ записи положительных рациональных чисел, основанный на дереве Штерна-Броко.

См. также

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Викиучебник

Внешние ссылки

Шаблон:Выбор языка