Для перевода чисел из одной CC в другую используются точные алгоритмы, основанные на применении многочлена (1) и арифметических операций умножения, деления, сложения. Однако перевод небольших чисел из десятичной СС в b-СС и обратно просто выполнить и устно, используя метод подбора цифр в разрядах многочлена.
1.2.1.Рассмотрим перевод из десятичной в двоичную СС. Для этого применим известный уже многочлен к b-СС:
Еще удобнее выполнить операцию возведения в степень и получить:
... N5*32 + N4*16 + N3*8 + N2*4 + N1*2 + N0*1.
Если помнить, что все цифры N для b-СС может принимать одно из двух значений 0 или 1, то проще помнить многочлен типа: ... 32 + 16 + 8 + 4 + 2 + 1, или еще короче, ряд: ... 32, 16, 8, 4, 2, 1. Тогда перевод будет состоять в том, чтобы правильно определить, будет ли участвовать определенный вес из этого ряда в формировании b-числа или нет. Если да, то данному весу соответствует цифра«1», если нет – цифра «0».
1.2.2.Рассмотрим перевод из двоичной СС в десятичную, используя метод на примере числа 111000b:
1) Мысленно или письменно расставим веса всех разрядов двоичного числа
32 16 8 4 2 1
1 1 1 0 0 0
2) Сложим веса разрядов, которым в числе соответствуют «1» (такие веса являются множителями при цифрах «1»). Получим: 32+16+8=56, т.е. 111000b=56
1.2.3.Переводы между двоичной и шестнадцатеричной СС выполняются еще проще, т.к. основания этих СС связаны соотношением: 24 = 16. На практике для перевода чисел между системами счисления удобно использовать следующие алгоритмы:
1) Перевод b-числа в h-число осуществляется путем объединения двоичных цифр в группы по 4 и замены каждой группы ее 16-ричным эквивалентом, причем группы отсчитываются с младших разрядов числа, а старшую группу дополняют при необходимости нулями. Например, число 55 в b-коде имеет вид 110111b, переведя его в h-СС получим : 0110111b=37h
2) Перевод h-числа в b-число заключается в замене каждой 16-ричной цифры ее двоичным эквивалентом. Например, переведем число 37h. Для этого заменим цифры 3 и 7 так: