Деление в прямом коде со сдвигом и автоматическим восстановлением остатка
- sign Z = sign X sign Y
- |X| - |Y| = 0
-
Если
0 0, то z0 = 1 и 20 - |Y| = 1 (z0 – целая часть результата).Если
0 < 0, то z0 = 0 и 20 + |Y| = 1
и т. д.
Пример:
[X]пк = 0.100 [Y]пк = 1.110 sign Z = 1
0 = 1 [-|Y|]дк = 1.010+0.100 = [|X|]дк
1.010 = [-|Y|]дк
1.110 =
0 = [|X|]дк + [-|Y|]дк < 0, z0 = 0+1.100 = 2
0 (сдвиг в ДК отрицательного числа)0.110 = [|Y|]дк
0.010 =
1 = 20 + [|Y|]дк > 0, z1 = 1+0.100 = 2
11.010 = [-|Y|]дк
1.110 =
2 = 21 + [-|Y|]дк < 0, z2 = 0+1.100 = 2
2 (сдвиг в ДК отрицательного числа)0.110 = [|Y|]дк
0.010 =
3 = 22 + [|Y|]дк > 0, z3 = 1Ответ: [Z]пк = 1.101