Обычно приходится преобразовывать числа из некоторой системы счисления в десятичную или, наоборот, из десятичной системы в систему с другим основанием.
При переводе целых чисел из системы счисления с основанием р в десятичную систему применяют развернутую форму записи, представляя основание системы счисления и все цифры в десятичной системе. Полученное выражение вычисляют по правилам десятичной арифметики. В результате получится запись заданного числа в десятичной системе счисления. Например:
Перевод целых чисел из десятичной системы счисления в систему с основанием р можно выполнить так.
Запишем основание новой системы р в десятичной системе счисления. Все последующие действия будем выполнять в десятичной системе.
Разделим исходное целое число на р. Запишем частное и остаток. Полученное частное снова разделим на р. Выполнять деление, выписывая все остатки, будем до тех пор, пока частное не станет равным нулю.
Каждый остаток представим в системе счисления с основанием р как цифру. Запишем цифры остатки в порядке их получения справа налево, от младших разрядов к старшим. Нулевые остатки не отбрасываются, а также записываются.
Полученное число является записью заданного числа в системе счисления с основанием р.
Например, запишем число 284510 в шестнадцатеричной системе счисления.
2845 = 16·177+13(D);
177=16·11+1(1);
11 = 16·0+11(В).
Частное стало равным нулю. Результат получится, если выписать все остатки в порядке, обратном их получению: 284510=B1D16.
Перевод дробных чисел.
Дробная часть числа переводится в систему счисления с основанием р отдельно от целой части. Для перевода целой части используется уже рассмотренный способ.
Дробная часть числа в исходном десятичном виде умножается на основание новой системы счисления р. Целая часть получившегося числа (в том числе 0) является очередной цифрой в записи дробной части числа в новой системе счисления. Затем она отбрасывается, а действие повторяется. Конечная десятичная дробь может оказаться в новой системе счисления бесконечной (периодической). В этом случае операцию заканчивают, когда достигнута требуемая точность или определен период дроби.
Например, переведем дробь 0,6875 в восьмеричную систему счисления. Получаем:
0,6875·8 = 5,5;
0,5·8 = 4;
Итак, 0,687510=0,548.
Теперь выполним преобразование исходной десятичной дроби в систему счисления с основанием 5.
0,6875·5 = 3,4375;
0,4375·5 = 2,1875;
0,1875·5 = 0,9375;
0,9375·5 = 4,6875;
Дробная часть числа повторилась, а значит, дальше будут получаться те же цифры в такой же последовательности. Итак, 0,687510=0,(3204)5. В скобки заключен период дроби.
Преобразовать периодическую дробь из системы счисления с основанием р в десятичную систему счисления можно так. Сначала преобразуем в десятичную систему число с отброшенной периодической частью. Затем займемся периодом. Если длина периода m цифр и он начинается с позиции k после запятой, то периодическая часть числа записывается в виде обыкновенной дроби, числитель которой совпадает с периодом дроби, а знаменатель равен pk-1(pm - 1).
Например, преобразуем в десятичную систему число 0,2(41)5. Промежуточные вычисления удобно записывать, используя обыкновенные дроби в десятичной системе. В данном случае 0,2 = . Далее, 415=4·5+1 = 2110. По указанному выше правилу k = 2 и m = 2, так что знаменатель обыкновенной дроби, соответствующей периодической части заданного числа, равен
52-1(52-1)=120. Таким образом, заданное число равно