double arrow

Преобразование десятичных чисел в двоичные


Пусть мы имеем целое десятичное число А. Преобразовать его в двоичное число - это значить представить в виде

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:

;

отделяем целую часть числа 2B, равную , и дробную часть

;

б). умножаем В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-ричного числа в виде трех- или соответственно четырехразрядного двоичного числа.

Пример:

A10 = 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


Сейчас читают про: