Для перевода любого числа достаточно отдельно перевести его целую и дробную части.
Перевод целых чисел
Представим число x в Q-ичной системе в виде полинома
x = qu·Qu + qu-1·Qu-1 +…+ q1·Q1 + q0·Q0
Разделим обе части этого равенства на основание искомой системы счисления Q, причем в левой части произведем фактическое деление, поскольку запись числа x в P-ичной системе нам известна, а в правой части деление выполним аналитически:
Таким образом, младший коэффициент числа x в Q-ичной системе счисления является остатком от деления x на Q. Число x/Q является целым, и к нему тоже можно применить описанную процедуру:
Этот процесс продолжается до тех пор, пока не получено x/Qu=0.
Для записи числа x в Q-ичной системе счисления запишем каждый из полученных коэффициентов qi одной Q-ичной цифрой:
xQ=ququ-1…q1q0
Пример 1: Перевести число 4710 в двоичную систему счисления (Q=2).
Искомое число 4710 = 1011112.
Пример 2: Перевести число 306010 в шестнадцатеричную систему счисления (Q = 16).
Таким образом, 410 = 416, 1510 = F16, 1110 = B16.
Искомое число
306010 = BF416.
Перевод дробных чисел
Пусть необходимо перевести в Q-ичную систему правильную дробь x (0<x<1), заданную в P-ичной системе счисления.
Поскольку x<1, то в Q-ичной системе запись числа x будет иметь вид
x = q-1·Q-1 +q-2·Q-2 +…+ q-v·Q-v
Умножив обе части этого выражения на Q, получим
x·Q = q-1·Q0 + q-2·Q-1 +…+ q-v·Q-v+1
где q-1 является целой частью, а (x·Q — q-1) – правильная дробь.
Таким образом, искомые коэффициенты qi могут быть определены по формуле
q-(i+1) = [xi·Q]
где [ ] – целая часть.
Процесс продолжается до тех пор, пока не будет получено xi+1=0, либо не будет достигнута требуемая точность числа.
Пример 3: Перевести число 0,27310 в двоичную систему счисления
Искомое число x = 0,27310 = 0,0100010111…2.
Перевод чисел в десятичную систему счисления
Для перевода числа в десятичную систему счисления из системы счисления с основанием Q достаточно найти сумму произведений каждой цифры на основание системы счисления в соответствующей степени.
Пример 4: Перевести число 1011112 в десятичную систему счисления.
x = 1·25 + 0·24 + 1·23 + 1·22 + 1·21 + 1·20= 4710
Пример 5: Перевести число BF416 в десятичную систему счисления.
x = 11·162 + 15·161 + 4·160 = 306010
Пример 6: Перевести число 0,0112 в десятичную систему счисления.