Примером непозиционной системы, которая сохранилась до наших дней, может служить система счисления, которая применялась более двух с половиной тысяч лет назад в Древнем Риме.
В основе римской системы счисления лежали знаки I (один палец) для числа 1, V (раскрытая ладонь) для числа 5, X (две сложенные ладони) для 10, а обозначения С для 100 и М для 1000 — это первые буквы соответствующих латинских слов (centum — сто, mille — тысяча).
Чтобы записать число, римляне разлагали его на сумму тысяч, полутысяч, сотен, полусотен, десятков, пятерок, единиц.
I | V | X | L | C | D | M |
Например, десятичное число 28 представляется следующим образом:
XXVIII =X+X + V+I + I + I
(два десятка, пятерка, три единицы).
Для записи промежуточных чисел римляне использовали не только сложение, но и вычитание. При этом применялось следующее правило:
• Каждый меньший знак, поставленный справа от большего, прибавляется к его значению, а каждый меньший знак, поставленный слева от большего, вычитается из него.
Например, XI обозначает 11, IX обозначает 9.
Десятичное число 128 представляется следующим образом:
CXXVIII = C+ X+X + V+I + I + I,
а десятичное число 99 имеет такое представление:
XCIX = - X + C - I + X.
Римская система счисления сегодня используется в основном для наименования знаменательных дат, томов, разделов и глав в книгах.
Конечно, непозиционные системы счисления гораздо удобнее, чем унарная, но и они имеют ряд недостатков.
1. Постоянная потребность введения новых знаков для записи больших чисел. Например, имея знаки I, V, X, трудно изобразить тысячу. И всегда можно придумать число, которое трудно изобразить даже вновь введенными знаками.
2. Невозможно представлять дробные числа.
3. Сложно выполнять арифметические операции, так как нет определенных правил действий над числами.
• Система счисления называется позиционной, если количественный эквивалент (значение) символа зависит от его положения (места, позиции) в записи числа.
Знакомая нам с детства система записи чисел, которой мы привыкли пользоваться в повседневной жизни и где производим все наши вычисления, — пример позиционной системы счисления. В привычной нам системе счисления для записи чисел используются десять различных знаков (цифры 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9). Поэтому ее называют десятичной. Не только сама цифра, но и ее место, ее позиция имеют определяющее значение: из двух написанных рядом цифр левая выражает единицы, в десять раз большие, чем правая, т.е. 10 единиц какого-либо разряда образуют единицу следующего, старшего разряда. Другими словами, единицы различных разрядов представляют собой различные степени числа 10.
В десятичном числе
А10 = 255 = 2 × 102 + 5 × 101 + 5 × 100
цифры 5, находящиеся на разных позициях, имеют различные количественные значения — 5 десятков и 5 единиц. При перемещении цифры на соседнюю позицию ее вес (количественный эквивалент) изменяется в 10 раз. Поэтому данную систему называют позиционной.
Арифметические действия над десятичными числами производятся с помощью достаточно простых операций, в основе которых лежат известные каждому школьнику таблицы умножения и сложения, а также правило переноса: если в результате сложения двух цифр получается число, которое больше или равно 10, то оно записывается с помощью нескольких цифр, находящихся на соседних позициях.
Общим для унарной и римской систем счисления является то, что значение числа в них определяется посредством операций сложения и вычитания базисных цифр, из которых составлено число, независимо от их позиции в числе. Такие системы получили название аддитивных. В отличие от них позиционное представление следует считать аддитивно-мультипликативным, поскольку значение числа определяется операциями умножения и сложения. Главной особенностью позиционного представления является то, что в нем посредством конечного набора знаков (цифр, разделителя десятичных разрядов, обозначение знака числа) можно записать неограниченное количество различных чисел.
Основные достоинства любой позиционной системы счисления — простота выполнения арифметических операций и ограниченное количество символов, необходимых для записи любых чисел.