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

Типы систем счисления

Самое главное, что нужно знать о системе счисления – её тип: аддитивная или мультипликативная. В первом типе каждая цифра имеет своё значение, и для прочтения числа нужно сложить все значения использованных цифр:

XXXV = 10+10+10+5 = 35;
CCXIX = 100+100+10–1+10 = 219;

Во втором типе каждая цифра может иметь разные значения в зависимости от своего местоположения в числе:

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

(иероглифы по порядку: 2, 1000, 4, 100, 2, 10, 5)

Здесь дважды использован иероглиф “2”, и в каждом случае он принимал разные значения “2000” и “20”.

2´ 1000 + 4´ 100+2´ 10+5 = 2425

Для аддитивной (“добавительной”) системы нужно знать все цифры-символы с их значениями (их бывает до 4-5 десятков), и порядок записи. Например, в Латинской записи если меньшая цифра записана перед большей, то производится вычитание, а если после, то сложение (IV = (5–1) = 4; VI = (5+1) = 6).

Для мультипликативной системы нужно знать изображение цифр и их значение, а так же основание системы счисления. Определить основание очень легко, нужно только пересчитать количество значащих цифр в системе. Если проще, то это число, с которого начинается второй разряд у числа. Мы, например, используем цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Их ровно 10, поэтому основание нашей системы счисления тоже 10, и система счисления называется “десятичная”. В вышеприведенном примере используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (вспомогательные 10, 100, 1000, 10000 и т. д. не в счет). Основных цифр здесь тоже 10, и система счисления – десятичная.

Как можно догадаться, сколько есть чисел, столько же может быть и оснований систем счисления. Но используются только самые удобные основания систем счисления. Как вы думаете, почему основание самой употребительной человеческой системы счисления 10? Да, именно потому, что на руках у нас 10 пальцев. “Но на одной то руке всего пять пальцев” – скажут некоторые и будут правы. История человечества знает примеры пятеричных систем счисления. “А с ногами – двадцать пальцев” – скажут другие, и будут тоже абсолютно правы. Именно так считали индейцы Майя. Это даже видно по их цифрам.

Очень интересно понятие “дюжина”. Всем известно, что это 12, но откуда появилось такое число – мало кто знает. Посмотрите на свои руки, вернее, на одну руку. Сколько фаланг на всех пальцах одной руки, не считая большого? Правильно, двенадцать. А большой палец предназначен отмечать отсчитанные фаланги.

А если на другой руке откладывать пальцами количество полных дюжин, то получим всем известную шестидесятеричную вавилонскую систему.

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

Так у французов когда-то была двадцатеричная система счисления, поскольку 80 по-французски звучит как “четырежды двадцать”.

Римляне, или их предшественники использовали когда-то пятеричную систему, так как V ни что иное, как изображение ладони с отставленным большим пальцем, а X – это две таких же руки.

Свойства

Позиционная система счисления обладает рядом свойств:

  • Основание системы счисления в ней самой всегда записывается как 10; например, в двоичной системе счисления 10 означает число 2. Данное утверждение неприменимо к унарной системе счисления, в которой используется только одна цифра.
  • Для записи числа x в b-ичной системе счисления требуется ⌊logb⁡x⌋+1{\displaystyle \lfloor \log _{b}x\rfloor +1} цифр, где ⌊⋅⌋{\displaystyle \lfloor \cdot \rfloor } означает взятие целой части числа.
  • Сравнивать числа, записанные в позиционной системе счисления, можно поразрядно, предварительно дополнив их ведущими нулями до одинаковой длины. При этом сравнение идёт от старшего разряда к младшему до тех пор, пока цифра в одном числе не будет больше соответствующей цифры в другом. Например, для сравнения чисел 321 и 312 в десятичной системе счисления сравниваются цифры в одинаковых разрядах слева направо:
    • 3 = 3 — результат сравнения чисел пока не определён;
    • 2 > 1 — первое число больше (независимо от оставшихся цифр).
Таким образом, естественный порядок на числах соответствует лексикографическому порядку на их записях в позиционной системе счисления при условии, что эти записи дополнены ведущими нулями до одинаковой длины.

Арифметические операции над числами. Позиционная система счисления позволяет без труда выполнять сложение, вычитание, умножение, деление и деление с остатком чисел, зная только таблицу сложения однозначных чисел, а для трёх последних операций ещё и таблицу умножения в соответствующей системе (см., например, деление столбиком).

Экономичность

В цифровой технике система счисления с основанием b{\displaystyle b} реализуется регистрами, состоящими из наборов триггеров, каждый из которых может принимать b{\displaystyle b} различных состояний, кодирующих цифры числа. При этом особое значение приобретает экономичность системы счисления — возможность представления как можно большего количества чисел с использованием как можно меньшего общего количества знаков. Если количество триггеров равно r{\displaystyle r}, то общее количество знаков равно m=r⋅b{\displaystyle m=r\cdot b}, а количество представимых ими чисел соответственно — br=bmb{\displaystyle b^{r}=b^{\frac {m}{b}}}. Как функция от b{\displaystyle b}, это выражение достигает максимума при b{\displaystyle b} равном числу e = 2,718281828…. При целых значениях b{\displaystyle b} максимум достигается для b=3{\displaystyle b=3}. Таким образом, наиболее экономичной является троичная система счисления (используемая в троичных ЭВМ), следом за которой идут двоичная система счисления (традиционно используемая в большинстве распространённых ЭВМ) и четверичная система счисления.

Экономичность системы счисления — немаловажное обстоятельство с точки зрения её использования в вычислительной машине. Поэтому, хотя применение в вычислительной машине троичной системы вместо двоичной влечёт некоторые конструктивные трудности (при этом нужно пользоваться элементами, каждый из которых может находиться не в двух, а в трёх устойчивых состояниях), эта система уже была использована в некоторых реально существующих вычислительных устройствах.. Эквивалентное описание экономичности системы счисления можно получить, используя понятие информационной энтропии

При условии равновероятности появления каждой из цифр в записи числа информационная энтропия записи n-разрядного числа в системе счисления с основанием b принимает значение nln⁡bb{\displaystyle n{\tfrac {\ln b}{b}}} (с точностью до постоянного коэффициента). Поэтому плотность записи (то есть, количество информации на один разряд) чисел в системе счисления с основанием b равна ln⁡bb{\displaystyle {\tfrac {\ln b}{b}}}, которая также принимает максимальное значение при b = e, а для целых значений b — при b = 3.

Эквивалентное описание экономичности системы счисления можно получить, используя понятие информационной энтропии. При условии равновероятности появления каждой из цифр в записи числа информационная энтропия записи n-разрядного числа в системе счисления с основанием b принимает значение nln⁡bb{\displaystyle n{\tfrac {\ln b}{b}}} (с точностью до постоянного коэффициента). Поэтому плотность записи (то есть, количество информации на один разряд) чисел в системе счисления с основанием b равна ln⁡bb{\displaystyle {\tfrac {\ln b}{b}}}, которая также принимает максимальное значение при b = e, а для целых значений b — при b = 3.

Римская система счисления

Данная система принципиально не намного отличается от предыдущей и сохранилась до наших дней. В ее основе находятся знаки:

  • $I$ (один палец) для числа $1$;

  • $V$ (раскрытая ладонь) для числа $5$;

  • $X$ (две сложенные ладони) для $10$;

  • для обозначения чисел $100$, $500$ и $1000$ использовались первые буквы соответствующих латинских слов (Сentum – сто, Demimille – половина тысячи, Мille – тысяча).

При составлении чисел римляне использовали следующие правила:

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

  2. Число равно разности значений двух «цифр», если слева от большей стоит меньшая. В этом случае от значения большей отнимается значение меньшей. Вместе они образуют группу второго вида. При этом левая «цифра» может быть меньше правой максимально на $1$ порядок: перед $L(50)$ и $C(100$) из «младших» может стоять только $Х(10$), перед $D(500$) и $M(1000$) – только $C(100$), перед $V(5) – I(1)$.

  3. Число равно сумме значений групп и «цифр», не вошедших в группы $1$ или $2$ вида.

Позиционные системы счисленияРисунок 3.

Пример 2

Необходимо записать число $1986$ в римской системе счисления.

Решение:
$1986 = 1000 + 900 + 50 + 30 + 6 = M + (M – C) + L + (X + X + X) + V + I = MCMLXXXVI$,

где:

  • $1000 = M$, $50 = L$, $6 = V +I$ (отдельные «цифры»);

  • $900 = M – C$ (группа второго вида);

  • $30 = X + X + X$ (группа первого вида).

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

Перевод в нега-позиционные системы

Нега-позиционное представление числа может быть получено последовательными делениями с остатком исходного числа на b=−r{\displaystyle b=-r} (то есть на основание нега-позиционной системы) и записью подряд остатков начиная с последнего. Заметим, что если ab=c{\displaystyle a/b=c}, с остатком d{\displaystyle d}, то bc+d=a{\displaystyle bc+d=a}. Пример перевода в нега-троичную систему:

146  −3=−48,   d=2−48  −3=16,   d=16  −3=−5,   d=1−5  −3=2,   d=12  −3=,   d=2{\displaystyle {\begin{aligned}146&~/~-3=&-48,&~~~d=2\\-48&~/~-3=&16,&~~~d=0\\16&~/~-3=&-5,&~~~d=1\\-5&~/~-3=&2,&~~~d=1\\2&~/~-3=&0,&~~~d=2\\\end{aligned}}}

Следовательно, нега-троичным представлением числа 146(10) является 21102(-3).

Реализация на C#:

static string negaternary(int value)
{
	string result = string.Empty;
	do
	{
		int remainder = value % -3;
		value = value  -3;
		if (remainder < )
		{
			remainder += 3;
			value += 1;
		}
		result = remainder.ToString() + result;
	} while (value != );
	return result;
}

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

В компьютерной технике очень часто используется двоичная система счисления. Такую систему очень легко реализовать в электронике (полупроводниковые транзисторы и микросхемы), так как для неё требуется всего два устойчивых состояния (0 и 1).

Двоичная система счисления может быть непозиционной и позиционной системой. В ней используется две цифры: 0 и 1. В реальном устройстве это может быть реализовано присутствием какого-либо физического явления или его отсутствием. Например: есть электрический заряд или его нет, есть напряжение или нет, есть ток или нет, есть сопротивление или нет, отражает свет или нет, намагничено или не намагничено, есть отверстие или нет и т.п.

Мы уже знаем, как переводить числа в различные системы счисления. Посмотрим, как это происходит с двоичной системой счисления. Переведём число из двоичной системы счисления в десятичную.

101010102=1⋅27+⋅26+1⋅25+⋅24+1⋅23+⋅22+1⋅21+⋅2=128+32+8+2=170{\displaystyle 10101010_{2}=1\cdot 2^{7}+0\cdot 2^{6}+1\cdot 2^{5}+0\cdot 2^{4}+1\cdot 2^{3}+0\cdot 2^{2}+1\cdot 2^{1}+0\cdot 2^{0}=128+32+8+2=170};

Вы это можете проверить на программе-калькуляторе (gcalctool в gnome, Kcalc в KDE, или калькулятор в Windows). Он умеет производить расчёты в двоичной, восьмеричной и шестнадцатиричной системах счисления. Теперь вы знаете, как он это проделывает. Если вы захотите посвятить свою жизнь программированию, то вам часто придётся работать со степенями двойки. Ниже представлена таблица:

Степень Значение
1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
11 2048
12 4096
13 8192
14 16384
15 32768
16 65536

Произведём обратное преобразование. Чтобы преобразовать число в десятичном виде к двоичному, нам нужно будет делить всё время на два и смотреть на остаток от деления. Возьмём число 33.

  • 33 : 2 = 16 остаток 1;
  • 16 : 2 = 8 остаток 0;
  • 8 : 2 = 4 остаток 0;
  • 4 : 2 = 2 остаток 0;
  • 2 : 2 = 1 остаток 0;
  • 1 : 2 = 0 остаток 1;

Получили 1000012{\displaystyle 100001_{2}}.

Возьмём число 55. Посмотрим, что получится.

  • 55 : 2 = 27 остаток 1;
  • 27 : 2 = 13 остаток 1;
  • 13 : 2 = 6 остаток 1;
  • 6 : 2 = 3 остаток 0;
  • 3 : 2 = 1 остаток 1;
  • 1 : 2 = 0 остаток 1.

Получили 1101112{\displaystyle 110111_{2}}.

Ниже приведены ещё примеры со сложением, вычитанием, умножением и делением.

Сложение:

 1001
 1010
 ----
10011

Вычитание:

1110
0101
----
1001

Умножение:

   1110
   0101
   ----
   1110
  0000
 1110
0000 
-------
1000110

Деление:

1000110|101
 101   -----
----   0001110 
  111
  101
  ---
   101
   101
   ---
     00

Программа двоичного представления десятичного числа
(Написана на Си)

#include <stdio.h>
#include <conio.h>

void dv(unsigned);

int main(int argc, char **argv)
{
  unsigned x;
  printf("Vvedite chislo > ");
  scanf("%d", &x);
  dv(x);
  
  getch();
  return ;
}

void dv(unsigned x)
{
  unsigned mask = 1, i;
  mask <<= sizeof(unsigned) * 8 - 1;
    for(i = 1; i <= sizeof(unsigned) * 8; i++)
    {
      printf("%c", x & mask ? '1'  '0');
      x <<= 1;
      if(!(i % 8))
        printf(" ");
    }
    printf("\n");
}

Бизнес и финансы

БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумагиУправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги — контрольЦенные бумаги — оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудитМеталлургияНефтьСельское хозяйствоЭнергетикаАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством

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

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

x=∑k=n−1akbk{\displaystyle x=\sum _{k=0}^{n-1}a_{k}b_{k}}, где на коэффициенты ak{\displaystyle a_{k}}, называемые как и прежде цифрами, накладываются некоторые ограничения.

Записью числа x{\displaystyle x} в смешанной системе счисления называется перечисление его цифр в порядке уменьшения индекса k{\displaystyle k}, начиная с первого ненулевого.

В зависимости от вида bk{\displaystyle b_{k}} как функции от k{\displaystyle k} смешанные системы счисления могут быть степенными, показательными и т. п. Когда bk=bk{\displaystyle b_{k}=b^{k}} для некоторого b{\displaystyle b}, смешанная система счисления совпадает с показательной b{\displaystyle b}-ичной системой счисления.

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

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

В факториальной системе счисления основаниями являются последовательность факториалов bk=k!{\displaystyle b_{k}=k!}, и каждое натуральное число x{\displaystyle x} представляется в виде:

x=∑k=1ndkk!{\displaystyle x=\sum _{k=1}^{n}d_{k}k!}, где ≤dk≤k{\displaystyle 0\leq d_{k}\leq k}.

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

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

100=4!⋅4+3!⋅+2!⋅2+1!⋅=96+4;{\displaystyle 100=4!\cdot 4+3!\cdot 0+2!\cdot 2+1!\cdot 0=96+4;}

положим ti{\displaystyle t_{i}} — коэффициент при числе i!{\displaystyle i!}, тогда t4=4{\displaystyle t_{4}=4}, t3={\displaystyle t_{3}=0}, t2=2{\displaystyle t_{2}=2}, t1={\displaystyle t_{1}=0}, тогда: число элементов меньших 5, но стоящих правее равно 4; число элементов меньших 4, но стоящих правее равно 0; число элементов меньших 3, но стоящих правее равно 2; число элементов меньших 2, но стоящих правее равно 0 (последний элемент в перестановке «ставится» на единственное оставшееся место) — таким образом, перестановка с номером 100 будет иметь вид: (5,3,1,2,4)
Проверка данного метода может быть осуществлена путём непосредственного подсчёта инверсий для каждого элемента перестановки.

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

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

Фибоначчиева система счисления основывается на числах Фибоначчи. Каждое натуральное число n{\displaystyle n} в ней представляется в виде:

n=∑kfkFk{\displaystyle n=\sum _{k}f_{k}F_{k}}, где Fk{\displaystyle F_{k}} — числа Фибоначчи, fk∈{,1}{\displaystyle f_{k}\in \{0,1\}}, при этом в коэффициентах fk{\displaystyle f_{k}} есть конечное количество единиц и не встречаются две единицы подряд.

Арифметические операции

Сложение

Сложение столбиком надо делать как в обычной системе, например если вы хотите сложить в нега-десятичной системе счисления, то это надо делать как в десятичной системе счисления. Но с одним исключением: если при сложении в каком-либо разряде получается число не менее 10, то надо в этот разряд записать число единиц из полученного числа а из соседнего слева разряда вычесть единицу. Если слева нет разряда, то приписать слева 19 (для нега-десятичной, для нега-троичной 12, для нега-двоичной 11). Например (нега-десятичная система):

 ·  ·
 18115
+
  5487
  3582

5+7=12, 2 в разряд единиц, из соседнего слева вычитаем единицу. 8+5=13, 3 в разряд минус тысяч, из соседнего слева вычитаем единицу.

  ·
  72
+
  49
1901

2+9=11, 1 в разряд единиц, из соседнего слева вычитаем единицу. 6+4=10, 0 в разряд минус десятков, соседнего слева — нет, приписываем слева 19.

Вычитание

Вычитание столбиком надо делать как в обычной системе, например если вы хотите вычесть в нега-десятичной системе счисления, то это надо делать как в десятичной системе счисления. Но с одним исключением: если при вычитании в каком-либо разряде надо занять десяток, то вы это и делаете, но из соседнего слева разряда вы не вычитаете единицу, а наоборот прибавляете её туда. Если слева нет разряда, то приписать слева 1. Например (нега-десятичная система):

 
 52
-
 39
 33

2-9 нельзя, занимаем единицу. 12-9=3, 3 в разряд единиц, в соседний слева разряд прибавляем единицу. 6-3=3.

 2
-
 9
13

2-9 нельзя, занимаем единицу. 12-9=3, 3 в разряд единиц, соседнего слева разряда нет, приписываем слева 1.

Таблицы умножения

Таблица умножения в нега-двоичной системе счисления

× 1
1 1

Таблица умножения в нега-троичной системе счисления

2 2 121
1 1 2
х 1 2

Таблица умножения в нега-десятичной системе счисления

1 2 3 4 5 6 7 8 9
2 4 6 8 190 192 194 196 198
3 6 9 192 195 198 181 184 187
4 8 192 196 180 184 188 172 176
5 190 195 180 185 170 175 160 165
6 192 198 184 170 176 162 168 154
7 194 181 188 175 162 169 156 143
8 196 184 172 160 168 156 144 132
9 198 187 176 165 154 143 132 121

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

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

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

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

x=∑k=1n(ckk){\displaystyle x=\sum _{k=1}^{n}{c_{k} \choose k}}, где ≤c1<c2<⋯<cn.{\displaystyle 0\leq c_{1}<c_{2}<\dots <c_{n}.}

При всяком фиксированном значении n{\displaystyle n} каждое натуральное число представляется уникальным образом.

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

Основная статья: Система остаточных классов

Представление числа в системе остаточных классов основано на понятии вычета и китайской теореме об остатках. СОК определяется набором попарно взаимно простых модулей (m1,m2,…,mn){\displaystyle (m_{1},m_{2},\dots ,m_{n})} с произведением M=m1⋅m2⋅⋯⋅mn{\displaystyle M=m_{1}\cdot m_{2}\cdot \dots \cdot m_{n}} так, что каждому целому числу x{\displaystyle x} из отрезка ,M−1{\displaystyle } ставится в соответствие набор вычетов (x1,x2,…,xn){\displaystyle (x_{1},x_{2},\dots ,x_{n})}, где

x≡x1(modm1);{\displaystyle x\equiv x_{1}{\pmod {m_{1}}};}
x≡x2(modm2);{\displaystyle x\equiv x_{2}{\pmod {m_{2}}};}
x≡xn(modmn).{\displaystyle x\equiv x_{n}{\pmod {m_{n}}}.}

При этом китайская теорема об остатках гарантирует однозначность представления для чисел из отрезка ,M−1{\displaystyle }.

В СОК арифметические операции (сложение, вычитание, умножение, деление) выполняются покомпонентно, если про результат известно, что он является целочисленным и также лежит в ,M−1{\displaystyle }.

Недостатками СОК является возможность представления только ограниченного количества чисел, а также отсутствие эффективных алгоритмов для сравнения чисел, представленных в СОК. Сравнение обычно осуществляется через перевод аргументов из СОК в смешанную систему счисления по основаниям (m1,m1⋅m2,…,m1⋅m2⋅⋯⋅mn−1){\displaystyle (m_{1},m_{1}\cdot m_{2},\dots ,m_{1}\cdot m_{2}\cdot \dots \cdot m_{n-1})}.

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

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

Двадцатеричная система счисления индейцев Майя

Эта система интересна тем, что развивалась самостоятельно, без влияния цивилизаций Европы и Азии. Ее использовали в качестве календаря и для астрономических наблюдений. Характерная особенность данной системы счисления — наличие нуля, который изображался в виде ракушки. Основание системы — число $20$, при этом наблюдаются признаки пятеричной системы. Первые $19$ чисел системы получали комбинированием точек (один) и черточек (пять).

Рисунок 7.

Число $20$ изображалось из двух цифр, ноль и один наверху и называлось уиналу (рис.8).

Рисунок 8.

Записывали числа столбцами, при это низшие разряды располагали внизу, а высшие — наверху, в результате чего получалось своеобразное изображение этажерки с полками. Если число ноль появлялось без единицы наверху, то это обозначало, что единицы данного разряда отсутствуют. Пример получения числа в такой системе:

Рисунок 9.

Замечание 4

В двадцатеричной системе счета древних майя имелось исключение, проявлявшееся в случае прибавления к числу $359$ одной единицы первого порядка. Суть исключения заключалась в следующем: $360$ является начальным числом третьего порядка и его место уже не на второй, а на третьей полке.

Но при этом получается, что начальное число третьего порядка больше начального числа второго не в двадцать раз ($20\cdot 20=400$, а не $360!$), а только в восемнадцать. Отсюда следует, что принцип двадцатеричности нарушен.

Ответ заключается в том, что у индейцев Майя $20$ дней-кинов образовывали месяц или уинал. $18$ месяцев-уиналов образовывали год или туну ($360$ дней в году) и так далее.

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

Перевод в нега-позиционные системы

Нега-позиционное представление числа может быть получено последовательными делениями с остатком исходного числа на b=−r{\displaystyle b=-r} (то есть на основание нега-позиционной системы) и записью подряд остатков начиная с последнего. Заметим, что если ab=c{\displaystyle a/b=c}, с остатком d{\displaystyle d}, то bc+d=a{\displaystyle bc+d=a}. Пример перевода в нега-троичную систему:

146  −3=−48,   d=2−48  −3=16,   d=16  −3=−5,   d=1−5  −3=2,   d=12  −3=,   d=2{\displaystyle {\begin{aligned}146&~/~-3=&-48,&~~~d=2\\-48&~/~-3=&16,&~~~d=0\\16&~/~-3=&-5,&~~~d=1\\-5&~/~-3=&2,&~~~d=1\\2&~/~-3=&0,&~~~d=2\\\end{aligned}}}

Следовательно, нега-троичным представлением числа 146(10) является 21102(-3).

Реализация на C#:

static string negaternary(int value)
{
	string result = string.Empty;
	do
	{
		int remainder = value % -3;
		value = value  -3;
		if (remainder < )
		{
			remainder += 3;
			value += 1;
		}
		result = remainder.ToString() + result;
	} while (value != );
	return result;
}

Что такое непозиционная система счисления

В непозиционной системе счисления изменение положения символа в числе не влияет на значение самого числа.

Отличие позиционных и непозиционных систем хорошо видно при сравнении арабских и римских чисел. Числа, записанные арабскими цифрами, составляются в позиционной системе

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

Например, в числе 234 цифра 2 обозначает величину двести, а в числе 324 – соответствует двадцати.

В римской системе счисления, цифра, в какое положение ее не помещай, всегда означает одно и то же. Например, с помощью римских цифр V и I, эквивалентных арабским 5 и 1, можно составить числа VI и IV, что соответствует 6 и 4. В непозиционной системе расположение цифры никак не влияет на ее значение.

История возникновения непозиционных систем счисления уходит корнями в глубокую древность. Жители древних государств: Вавилона, Майя, Древнего Египта, Греции и Рима, пользовались непозиционным принципом в составлении чисел. Некоторые из таких систем, например, римские цифры, используются и по сей день.

Арифметические операции

Сложение

Сложение столбиком надо делать как в обычной системе, например если вы хотите сложить в нега-десятичной системе счисления, то это надо делать как в десятичной системе счисления. Но с одним исключением: если при сложении в каком-либо разряде получается число не менее 10, то надо в этот разряд записать число единиц из полученного числа а из соседнего слева разряда вычесть единицу. Если слева нет разряда, то приписать слева 19 (для нега-десятичной, для нега-троичной 12, для нега-двоичной 11). Например (нега-десятичная система):

 ·  ·
 18115
+
  5487
  3582

5+7=12, 2 в разряд единиц, из соседнего слева вычитаем единицу. 8+5=13, 3 в разряд минус тысяч, из соседнего слева вычитаем единицу.

  ·
  72
+
  49
1901

2+9=11, 1 в разряд единиц, из соседнего слева вычитаем единицу. 6+4=10, 0 в разряд минус десятков, соседнего слева — нет, приписываем слева 19.

Вычитание

Вычитание столбиком надо делать как в обычной системе, например если вы хотите вычесть в нега-десятичной системе счисления, то это надо делать как в десятичной системе счисления. Но с одним исключением: если при вычитании в каком-либо разряде надо занять десяток, то вы это и делаете, но из соседнего слева разряда вы не вычитаете единицу, а наоборот прибавляете её туда. Если слева нет разряда, то приписать слева 1. Например (нега-десятичная система):

 
 52
-
 39
 33

2-9 нельзя, занимаем единицу. 12-9=3, 3 в разряд единиц, в соседний слева разряд прибавляем единицу. 6-3=3.

 2
-
 9
13

2-9 нельзя, занимаем единицу. 12-9=3, 3 в разряд единиц, соседнего слева разряда нет, приписываем слева 1.

Таблицы умножения

Таблица умножения в нега-двоичной системе счисления

× 1
1 1

Таблица умножения в нега-троичной системе счисления

2 2 121
1 1 2
х 1 2

Таблица умножения в нега-десятичной системе счисления

1 2 3 4 5 6 7 8 9
2 4 6 8 190 192 194 196 198
3 6 9 192 195 198 181 184 187
4 8 192 196 180 184 188 172 176
5 190 195 180 185 170 175 160 165
6 192 198 184 170 176 162 168 154
7 194 181 188 175 162 169 156 143
8 196 184 172 160 168 156 144 132
9 198 187 176 165 154 143 132 121

Системы счисления разных народов

Единичная система счисления

По-видимому, хронологически первая система счисления каждого народа, овладевшего счётом. Натуральное число изображается путём повторения одного и того же знака (чёрточки или точки). Например, чтобы изобразить число 26, нужно провести 26 чёрточек (или сделать 26 засечек на кости, камне и т. д.). Впоследствии, ради удобства восприятия больших чисел, эти знаки группируются по три или по пять. Затем равнообъёмные группы знаков начинают заменяться каким-либо новым знаком — так возникают прообразы будущих цифр.

Древнеегипетская система счисления

Древнеегипетская десятичная непозиционная система счисления возникла во второй половине третьего тысячелетия до н. э. Для обозначения чисел 1, 10, 102, 103, 104, 105, 106, 107 использовались специальные цифры. Числа в египетской системе счисления записывались как комбинации этих цифр, в которых каждая из цифр повторялась не более девяти раз. Значение числа равно простой сумме значений цифр, участвующих в его записи.

Алфавитные системы счисления

Основная статья: Алфавитная запись чисел

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

Еврейская система счисления

Основная статья: Еврейские цифры

Еврейская система счисления в качестве цифр использует 22 буквы еврейского алфавита. Каждая буква имеет своё числовое значение от 1 до 400 (см. также Гематрия). Ноль отсутствует. Цифры, записанные таким образом, наиболее часто можно встретить в нумерации лет по иудейскому календарю.

Греческая система счисления

Основная статья: Греческая система счисления

Греческая система счисления, также известная как ионийская или новогреческая — непозиционная система счисления. Алфавитная запись чисел, в которой в качестве символов для счёта, употребляют буквы классического греческого алфавита, а также некоторые буквы доклассической эпохи, такие как ϛ (стигма), ϟ (коппа) и ϡ (сампи).

Римская система счисления

Основная статья: Римские цифры

Каноническим примером почти непозиционной системы счисления является римская, в которой в качестве цифр используются латинские буквы: I обозначает 1, V — 5, X — 10, L — 50, C — 100, D — 500, M — 1000

Например, II = 1 + 1 = 2
здесь символ I обозначает 1 независимо от места в числе.

На самом деле, римская система не является полностью непозиционной, так как меньшая цифра, идущая перед большей, вычитается из неё, например:

IV = 4, в то время как:
VI = 6

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

Основная статья: Цифры майя

Майя использовали 20-ичную систему счисления за одним исключением: во втором разряде было не 20, а 18 ступеней, то есть за числом (17)(19) сразу следовало число (1)(0)(0). Это было сделано для облегчения расчётов календарного цикла, поскольку (1)(0)(0) = 360 примерно равно числу дней в солнечном году.

Для записи основными знаками были точки (единицы) и отрезки (пятёрки).

Прообразом баз данных, широко использовавшихся в Центральных Андах (Перу, Боливия) в государственных и общественных целях в I—II тысячелетии н. э., была узелковая письменность Инков — кипу, состоявшая как из числовых записей десятичной системы, так и не числовых записей в двоичной системе кодирования. В кипу применялись первичные и дополнительные ключи, позиционные числа, кодирование цветом и образование серий повторяющихся данных. Кипу впервые в истории человечества использовалось для применения такого способа ведения бухгалтерского учёта как двойная запись.

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

Такие системы счисления отличаются от обычных тем, что используют цифры не из множества $ (0, \ldots, b-1) $, а из множества $ (-\frac{b-1}{2}, -\frac{b-3}{2}, \ldots, \frac{b-1}{2}) $. Чтобы цифры были целыми, нужно, чтобы b было нечётным. В симметричных системах счисления не требуется дополнительных обозначений для знака числа. Кроме того, вычисления в симметричных системах удобны тем, что не требуется особых правил округления — оно сводится к простому отбрасыванию лишних разрядов, что резко уменьшает систематические ошибки вычислений.

Чаще всего используется симметричная троичная система счисления с цифрами (-1,0,1). Она применяется в троичной логике и была технически реализована в вычислительной машине «Сетунь».

Перевод из десятичной системы счисления

Целая часть

.   Последовательно делить целую часть десятичного числа на основание,
пока десятичное число не станет равно нулю.

2.      Полученные при делении остатки являются цифрами нужного числа.
Число в новой системе записывают, начиная с последнего остатка.

Дробная часть

.   Дробную часть десятичного числа умножаем на основание системы, в
которую требуется перевести. Отделяем целую часть. Продолжаем умножать дробную
часть на основание новой системы, пока она не станет равной 0.

2.      Число в новой системе составляют целые части результатов
умножения в порядке, соответствующем их получению.

Пример

10 переведём в двоичную систему:

делим на 2. частное 22, остаток 0

делим на 2. частное 11, остаток 0

делим на 2. частное 5, остаток 1

делим на 2. частное 2, остаток 1

делим на 2. частное 1, остаток 0

делим на 2. частное 0, остаток 1

Частное равно нулю, деление закончено. Теперь записав все остатки снизу
вверх получим число 1011002

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организацииМуниципалитетыРайоныОбразованияПрограммыОтчетыпо упоминаниямДокументная базаЦенные бумагиПоложенияФинансовые документыПостановленияРубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датамРегламентыТерминыНаучная терминологияФинансоваяЭкономическаяВремяДаты2015 год2016 годДокументы в финансовой сферев инвестиционной