Поскольку одно и тоже число может быть записано в различных системах счисления, встает вопрос о переводе представления числа из одной системы (p) в другую (q). Будем обозначать такое представление Ap®Aq. Теоретически можно произвести перевод для любых p и q. Однако подобный прямой перевод будет затруднен тем, что придется выполнять операции по правилам арифметики не десятичных систем счисления. По этой причине более удобным можно считать вариант преобразования с промежуточным переводом Ap®Ar®Aq с основанием r, для которого арифметические операции выполнить легко. Такими удобными основаниями являются r=1 и r=10, т.е. перевод осуществляется через унарную или десятичную систему счисления.
Преобразование Ap®A1®Aq
Идея алгоритма перевода следующая: положим начальное значение Aq=0. Из числа ap вычтем единицу по правилам вычитания системы p и добавим ее к Aq по правилам сложения системы q; будем выполнять эту последовательность действий пока не достигнем Aр=0.
Пример 3.
Выполнить преобразование 223®А6.
|
|
Решение.
Последовательность действий и промежуточные результаты для наглядности представим в виде следующей таблицы:
Шаг | |||||||||
А3 – 1 | |||||||||
А6 + 1 |
Следовательно, 223®126.
Преобразование Ap®A10®Aq
Очевидно, первая и вторая части преобразования не связаны друг с другом, т.о. можно рассматривать их по отдельности.
Преобразование A10®Aq
Поскольку А10 целое десятичное число в его разложении отсутствуют коэффициенты с отрицательными индексами и его можно представить в виде.
A10 = a n-1×qn-1+ a n-2× qn-2+ … + a 2×q2+ a 1×q1+ a 0 q0.
Разделим число А10 на q. Частное будет равно
a n-1×qn-2+… + a2 ×q+ a 1,
а остаток будет равен a 0.
Полученное неполное частное опять разделим на q, остаток от деления будет равен а 1.
Если продолжить этот процесс деления, то на n-м шаге получим набор цифр
a 0, a 1, a 2,…, a n-1,которые входят в q-ичное представление числа А10 и совпадают с остатками при последовательном делении данного числа на q. Но мы их получили в порядке, обратном порядку расположения в q-ичном представлении числа А.
А10=(a n-1 a n-2… a 1 a 0)q.
Пример 4.
Перевести 1410®А3.
Решение.
Рассмотренную выше последовательность действий удобнее изображать следующим образом:
14 3
12 4 3
2 3 1
1
а 0 а 1 а 2
Записывая остатки от деления в обратном направлении получим число 1123.
1410= 1123.
Преобразование Аp®А10
Данное преобразование явно вытекает из формулы (1): если все слагаемые в развернутой форме не десятичного числа представить в десятичной системе и вычислить полученное выражение по правилам десятичной арифметики, то получится число в десятичной системе равной данному (это правило распространяется как на целые, так и на дробные числа).
|
|
Пример 5.
Перевести 1123 ®А10, 1001012 = ® А10, 14FC16 ® А10, 101,012 ® А10
Решение.
1123 = 1*102+1*101+2*100 = 1*32+1*31+2*30=1410
1001012 = 1*10101+0*10100+0*1011+1*1010+0*101+1*100=1*25+0*24+0*23+1*22+0*21+1*20=3710
14FC16 = 1*103+4*102+F*101+C*100=1*163+4*162+15*161+12*160=537210
101,012 = 1*1010+0*101+1*100+0*10-1 +1*10-10=1*22+0*21+1*20+0*2-1 +1*2-2=5,2510