ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
107
(
)
( )
(
)
(
)
(
)
1
1
1
1
2
2
1
1
0
2
2
2
2 ,
l
l
A
b
b
b
b
− −
=
+ ⋅
+
+ + ⋅
+ ⋅
(1)
где
i
b
цифры правильной дроби
A
в двоичной системе счисления,
равные 0 или 1 (
1, 2, ,
i
l
= − − −
),
l
количество разрядов правиль-
ной дроби.
Согласно (1), преобразование сводится к
l
-
кратному выполнению
операций умножения на
1
2
,
т. е. деления на 2, и сложения. На первом
шаге определяется произведение
1
0 2 0
=
и сумма
0 ,
l
b
+
на втором
шаге – произведение
(
)
1
0
2
l
b
+ ⋅
и сумма
(
)
( )
1
1
0
2
l
l
b
b
− −
+ ⋅
+
и т. д.
Повторяя процесс умножения на
1
2
и сложения
l
раз определяем
ДДК правильной дроби. При этом все действия должны выполняться
по правилам десятичной арифметики.
Операция умножения на
1
2
(
т. е. деления на 2) реализуется пу-
тем сдвига числа вправо (в сторону младших разрядов) на один дво-
ичный разряд (позицию).
Для выполнения преобразования двоичная дробь начиная с
младшего разряда вводится («вдвигается») в двоично-десятичную
разрядную сетку со стороны старших разрядов (слева направо), как
показано на рис. 1.
При сдвиге вправо в разрядах двоично-десятичной разрядной сет-
ки цифра с весом 8 приобретает вес 4, цифра с весом 4 – вес 2, цифра с
весом 2 – вес 1, т. е. происходит деление числа в тетраде на 2.
Когда какая-либо единица при сдвиге переходит из одной тет-
рады в другую, возникает ошибка. Действительно, в случае двоич-
ной дроби эта единица имеет разрядное значение, равное десяти
единицам того разряда, в который она вдвигается. При делении на
2
она должна приобрести вес 5, а приобретает в данном двоичном
разряде вес 8. Следовательно, для коррекции с целью получения
правильного результата необходимо вычитать
10
2
3 0011
=
из тех
тетрад, в которые при сдвиге поступили единицы. Введение в
старший двоичный разряд старшей тетрады очередной двоичной
цифры двоичной дроби эквивалентно сложению этого очередного
разряда двоичной дроби с дробью в двоично-десятичной разрядной
сетке, умноженной на
1
2
.
Полученная таким образом двоично-
десятичная дробь будет эквивалентна исходной двоичной дроби.
На рис. 1 приведен пример преобразования двоичной дроби
2
0,111
в двоично-десятичную:
2
2 10
0,111 0,875 .
=