Пусть мы имеем целое десятичное число А. Преобразовать его в двоичное число - это значить представить в виде
i
где - цифры двоичного числа, равные 0 или 1.
Цифры двоичного числа можно определять последовательно, начиная с и кончая , следующим образом:
делим A на 2; в результате получаем целую часть частного
и остаток
2. делим на 2; в результате получаем целую часть частного
и остаток .
Процесс деления продолжается до тех пор, пока мы не получим в частном 0 и в остатке 1. Это означает, что мы определили старший разряд двоичного числа. Покажем процесс преобразования на примере. Пусть . Выполним преобразование
37 2
36 18 2
1 18 9 2 = 1
0 8 4 2 = 0
1 4 2 2 = 1
0 2 1 2 = 0
0 0 0 = 0
1 = 1
В итоге
Пусть мы имеем дробное десятичное число B <1, которое необходимо представить в двоичной СС. Иначе говоря, требуется определить двоичную дробь
,
где - двоичные цифры. Цифры двоичного числа можно определять последовательно, начиная с , следующим образом:
а). умножаем заданное число В на 2:
|
|
;
отделяем целую часть числа 2 B, равную , и дробную часть
;
б). умножаем В 1 на 2:
.
Целая часть от 2 В 1 равна , а дробная часть
используется для дальнейшего преобразования. Преобразование продолжается до тех пор, пока после очередного умножения на 2 дробная часть не окажется равной 0 (что означает точное преобразование в двоичную дробь) или пока мы не получим достаточное количество двоичных разрядов, удовлетворяющее нас с точки зрения точности преобразования.
Пример: B2 = 0.31
0.31
* 2
0.62 b-1 = 0
* 2
1.24 b-2 = 1
* 2
0.48 b-3 = 0
* 2
0.96 b-4 = 0
* 2
1.92 b-5 = 1
* 2
1.84 b-6 = 1
* 2
1.68 b-7 = 1
...
В результате 0.3110 = 0.0100111...2.
Для преобразования в двоичное десятичное число с целой и дробной частями, преобразования выполняют отдельно для целой и дробной частей.
В частности при преобразовании десятичных чисел в двоичные часто практически удобно выполнять промежуточное преобразование их в 8-ричные или 16-ричные числа с дальнейшей записью каждой цифры 8-ричного или 16-ричного числа в виде трех- или соответственно четырехразрядного двоичного числа.
Пример:
A 10 = 28.73
28 8 0.73 28 16 0.73
24 3 a1 = 3 * 8 16 1 a1 = 1 * 16
4 a0 = 4 5.84 b-1 = 5 12 a0 = c +438
* 8 73
6.72 b-2 = 6 11.68 b-1 = b
* 8 * 16
5.76 b-3 = 5 +408
10.88 b-2 = a
В итоге 28.7310 34.5658 = 11100.1011101012 = 1c.ba16