В позиционной системе счисления относительной позиции цифры в числе ставится в соответствие весовой множитель, и число может быть представлено в виде суммы произведений коэффициентов на соответствующую степень основания системы счисления (весовой множитель):
AnAn-1An-2...A1A0, A-1A-2...= Аn · Вn + Аn-1 · Вn-1 +…+ А1 · В1 + А0 · В0 + А-1 · В-1+ + А-2 · В-2 +…
(знак “,” отделяет целую часть числа от дробной. Таким образом, значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Именно поэтому такие системы счисления называют позиционными).
Позиционная система счисления – система, в которой величина числа определяется значениями входящих в него цифр и их относительным положением в числе.
Примеры (десятичный индекс внизу указывает основание системы счисления):
23,4310= 2 · 101+ 3 · 100+ 4 · 10-1+ 3 · 10-2
(в данном примере цифра 3 в одном случае означает число единиц, а в другом – число сотых долей единицы);
69210= 6 · 102 + 9·101 + 2.
(692 с формальной точки зрения представляется в виде “шесть умножить на десять в степени два, плюс девять умножить на десять в степени один, плюс два”).
11012 = 1 · 23 + 1 · 22 + 0 · 21 + 1·20 = 1310;
1123 = 1 · 32 + 1 · 31 + 2 · 30 = 1410;
341,58 = 3 · 82 + 4 · 81 + 1 · 80 + 5 · 8-1 = 225,12510;
A1F,416 = A · 162 + 1 · 161 + F · 160 + 4 · 16-1 = 2591,62510.
При работе с компьютерами приходится параллельно использовать несколько позиционных систем счисления (чаще всего двоичную, десятичную, восьмеричную и шестнадцатеричную), поэтому большое практическое значение имеют процедуры перевода чисел из одной системы счисления в другую. Заметим, что во всех приведенных выше примерах результат является десятичным числом, и, таким образом, способ перевода чисел из любой позиционной системы счисления в десятичную уже продемонстрирован.
В общем случае, чтобы перевести целую часть числа из десятичной системы в систему с основанием В, необходимо разделить ее на В. Остаток даст младший разряд числа. Полученное при этом частное необходимо вновь разделить на В – остаток даст следующий разряд числа и т.д. Для перевода дробной части ее необходимо умножить на В. Целая часть полученного произведения будет первым (после запятой, отделяющей целую часть от дробной) знаком. Дробную же часть произведения необходимо вновь умножить на В. Целая часть полученного числа будет следующим знаком и т.д. Конкретные примеры перевода чисел будут рассмотрены ниже.
Кроме рассмотренных выше позиционных систем счисления существуют такие, в которых значение знака не зависит от того места, которое он занимает в числе. Такие системы счисления называются непозиционными. Наиболее известным примером непозиционной системы является римская. В этой системе используется 7 знаков (I, V, X, L, С, D, М), которые соответствуют следующим величинам:
I(1) V(5) X(10) L(50) С (100) D(500) М(1000).
Примеры: III (три), LIX (пятьдесят девять), DLV (пятьсот пятьдесят пять). Недостатком непозиционных систем, из-за которых они представляют лишь исторический интерес, является отсутствие формальных правил записи чисел и, соответственно, арифметических действий над ними (хотя по традиции римскими числами часто пользуются при нумерации глав в книгах, веков в истории и др.).
3.3.2. Двоичная система счисления
Особая значимость двоичной системы счисления в информатике определяется тем, что внутреннее представление любой информации в компьютере является двоичным, т.е. описываемым наборами только из двух знаков (0 и 1).
Конкретизируем описанный выше способ в случае перевода чисел из десятичной системы в двоичную. Целая и дробная части переводятся порознь. Для перевода целой части (или просто целого) числа необходимо разделить ее на основание системы счисления и продолжать делить частные от деления до тех пор, пока частное не станет равным 0. Значения получившихся остатков, взятые в обратной последовательности, образуют искомое двоичное число. Например:
Остаток
25/2=12 (1),
12/2=6 (0),
6/2=3 (0),
3/2=1 (1),
1/2=0 (1).
Таким образом: 2510=110012.
Для перевода дробной части (или числа, у которого “0” целых) надо умножить ее на 2. Целая часть произведения будет первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д. Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной (периодической) двоичной. Например:
0,73·2=1,46 (целая часть 1),
0,46·2 = 0,92 (целая часть 0),
0,92·2 = 1,84 (целая часть 1),
0,84·2 = 1,68 (целая часть 1) и т.д.
В итоге: 0,7310=0,10112.
Над числами, записанными в любой системе счисления, можно производить различные арифметические операции. Так, для сложения и умножения двоичных чисел необходимо использовать табл. 3.2
Таблица 3.2