Ділення чисел з фіксованою комою
Нехай А - ділене, В - дільник і С - частка. Найпростіше ділення виконується в прямому коді. У разі представлення чисел ,
і
у формі з фіксованою комою, воно реалізується у два етапи.
На першому етапі визначається знак частки шляхом додавання за модулем два цифр знакових розрядів діленого
і дільника
(аналогічно множенню, див. стр.9).
На другому етапі здійснюється ділення модулів початкових чисел і
, округлення модуля частки, після чого до нього дописується знак, що визначений на першому етапі.
На відміну від множення чисел з фіксованою комою, в процесі якого принципово неможливе переповнення розрядної сітки, ділення дробових чисел може призвести до переповнення розрядної сітки і, отже, до неправильного результату. Тому для уникнення такої ситуації має виконуватись умова: .
Відомо два основних метода ділення чисел, а саме: ділення з відновленням та без відновлення остач.
За своїм характером операція ділення відноситься до операцій, що дають не завжди точний результат, тому ознакою закінчення операції ділення може бути досягнення заданої точності. Якщо в процесі ділення одержується остача R = 0, то операція зупиняється й у решту розрядів частки записується нуль. Звичайно формальною ознакою кінця операції ділення є одержання такої самої кількості розрядів у частці, яку мають операнди.
Подвоєння діленого та остачі практично виконується шляхом зсуву коду вліво на один розряд.
Алгоритм ділення модулів чисел без відновлення остач
ГСА такого множення має вигляд: ![]() | Цей алгоритм зводиться до виконання таких дій. 1. Подвоїти модуль діленого ![]() ![]() ![]() ![]() |
Приклад 1. Скласти цифрову діаграму ділення X на Y: X=21/128 Y=96/128
XПК=0,0101010 YПК = 0,1100000 YДК=1,0100000
X0 PX | PY | PZ | CTK | Пояснення | |
+ | 0,0101010 | 0,1100000 | Початкові дані | ||
1.0100000 | +YДК | ||||
1.1001010 | Z0 | Результат сумування | |||
+ | 1.0010100 | 0,0 | Зсув | ||
0.1100000 | +Y | ||||
1.1110100 | Результат сумування | ||||
Z1 | |||||
+ | 1.1101000 | 0,00 | Зсув | ||
0.1100000 | +Y | ||||
0.1001000 | Результат сумування | ||||
Z2 | |||||
+ | 1.0010000 | 0,001 | Зсув | ||
1.0100000 | +YДК | ||||
0.0110000 | Результат сумування | ||||
Z3 | |||||
+ | 0.1100000 | 0,0011 | Зсув | ||
1.0100000 | +YДК | ||||
0.0000000 | Результат сумування | ||||
Z4 | |||||
0.0000000 | 0,00111 | END |
Завдання для самоконтролю
1. Скласти цифрову діаграму ділення X на Y: X=20/32 Y=27/32
2. Скласти цифрову діаграму ділення А на В: А = 0,1010 та В = 0,1101
Тема для самостійного опрацювання (Лекція №4с):