2. Перевод чисел из одной системы счисления в другую
Правило перевода целых чисел: для перевода целого числа Nр, представленного в системе счисления с основанием р, в систему счисления с основанием q необходимо данное число делить на основание q (по правилам в системе счисления с основанием р) до получения целого остатка, меньшего q. Полученное частное снова необходимо делить на основание q до получения целого остатка, меньшего q, и т. д. до тех пор, пока последнее частное будет меньше q. Число Nq в системе счисления с основанием q представится в виде упорядочений последовательности остатков деления в порядке, обратном их получения. Причем старшую цифру числа Nq дает последнее частное.
Применительно к преобразованию десятичного числа в двоичную систему счисления процедуру удобно изобразить так, как показано на рис.1а: слева от вертикальной черты записывается точное частное, а справа – соответствующие остатки, из которых складывается искомое число. Стрелкой показано направление чтения результата. Если преобразовать двоичное число в десятичную систему, то действия выполняются в двоичной системе счисления, делителем является число 1010(2) =10(10) и процедура будет выглядеть так, как изображено на рис. 1б.
101000111
1010
1010 100000
1010
000000111 1010 0011
01100
1010
0010
1
1
83 1
40 0
20 0
10 0
5 1
2 0
1 1
а б
Результат: 327(10) = Результат: 101000111(2) =
=101000111(2) =0011 0010 0111(10/2) =327(10)
Рис.1. Перевод целого десятичного числа 327(10) в двоичное (а) и наоборот (б)
Нетрудно видеть, что преобразование по этому варианту удобнее всего осуществлять из десятичной системы счисления в любую другую, отличную от десятичной, так как при этом действия будут выполняться в десятичной системе счисления.
Правило перевода правильной дроби: перевод правильной дроби Nр, представленной в системе счисления с основанием р, в систему счисления с основанием q заключается в последовательном, умножении этой дроби на основание q (по правилам в системе счисления с основанием р), причем перемножению подвергаются только дробные части. Дробь N, в системе счисления с основанием q представится в виде упорядоченной последовательности целых частей произведений в порядке их получения, где старший разряд является первой цифрой произведения. Если требуемая точность перевода есть q-k, то число указанных последовательных произведений равно k.
Пример преобразования десятичного числа в двоичную систему счисления изображен на рис.2а. Стрелкой показано направление чтения результата. Здесь же показана и наиболее удобная форма записи процесса преобразования. Аналогичные вычисления и для перехода от двоичного числа к десятичному показаны на рис.2б.
n=[3*1/lg2]=10(10)
0,374 0 ,0101111110
0,748 1010
1,496 0101111110
0,992 0101111110
1,984 0011 ,1011101100
1,968 0 ,1011101100
1,936 1010
1,872 01011101100
1,744 01011101100
1,488 0111 ,0100111000
0,976 0 ,0100111000
1010
0100111000
0100111000
0011 ,0000110000
Результат: 0,374(10)= Результат: 0,0101111110(2)=
=0,0101111110(2) =,0011 0111 0011(10/2)=,373(10)
а б
Рис.2. Перевод дробного десятичного числа 0,374(10) в двоичное (а) и наоборот (б)
Правило перевода неправильной дроби: для чисел, имеющих как целую, так и дробную часть, перевод из одной системы счисления в другую осуществляется отдельно для целой и дробной части по правилам, указанным выше.