Рассмотрим способы перевода чисел из одной системы счисления в другую.
а) Перевод двоичного числа в десятичное.
Необходимо сложить двойки в степенях, соответствующих позициям, где в двоичном стоят единицы. Например:
Возьмем число 20. В двоичной системе оно имеет следующий вид: 10 100.
Итак (считаем слева направо, считая от 4 до 0; число в нулевой степени всегда равно единице).
- 10 100 = 1*24 + 0*23 + 1*22 + 0*21 + 0*20 = 20
- 16+0+4+0+0 = 20.
- б) Перевод десятичного числа в двоичное.
Необходимо делить его на два, записывая остаток справа налево:
- 20/2 = 10, остаток 0
- 10/2=5, остаток 0
- 5/2=2, остаток 1
- 2/2=1, остаток 0
- ½=0, остаток 1
В результате получаем: 10 100 = 20.
в) Перевод шестнадцатеричного числа в десятичное.
В шестнадцатеричной системе номер позиции цифры в числе соответствует степени, в которую надо возвести число 16:
8A = 8*16 + 10 (0A) = 138.
Напоследок приведем алгоритм перевода в двоичную и из двоичной системы, предлагаемый Л. Радюком.
Пусть А (цд) — целое десятичное число. Запишем его в виде суммы степеней основания 2 с двоичными коэффициентами. В его записи в развёрнутой форме будут отсутствовать отрицательные степени основания (числа 2):
A (цд) = a (n-1) * 2^(n-1) + a (n-2) * 2^(n-2) + … + a (1) * 21 + a (0) * 20.
На первом шаге разделим число А (цд) на основание двоичной системы, то есть на 2. Частное от деления будет равно:
a (n-1) * 2^(n-2) + a (n-2) * 2^(n-3) + … + a (1), а остаток равен a (0).
На втором шаге целое частное опять разделим на 2, остаток от деления будет теперь равен a (1).
Если продолжать этот процесс деления, то после n-го шага получим последовательность остатков:
a (0), a (1),…, a (n-1).
Легко заметить, что их последовательность совпадает с обратной последовательностью цифр целого двоичного числа, записанного в свёрнутой форме:
A (2) = a (n-1)…a (1)a (0).
Таким образом, достаточно записать остатки в обратной последовательности, чтобы получить искомое двоичное число.
Тогда сам алгоритм будет следующим:
- 1. Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньше 2.
- 2. Записать полученные остатки в обратной последовательности, а слева добавить последнее частное.
Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трёх двоичных цифр триаду, а при преобразовании шестнадцатеричного числа в группу из четырёх цифр тетраду.