Нехай А - ділене, В - дільник і С - частка. Найпростіше ділення виконується в прямому коді. У разі представлення чисел , і у формі з фіксованою комою, воно реалізується у два етапи.
На першому етапі визначається знак частки шляхом додавання за модулем два цифр знакових розрядів діленого і дільника (аналогічно множенню, див. стр.9).
На другому етапі здійснюється ділення модулів початкових чисел і , округлення модуля частки, після чого до нього дописується знак, що визначений на першому етапі.
На відміну від множення чисел з фіксованою комою, в процесі якого принципово неможливе переповнення розрядної сітки, ділення дробових чисел може призвести до переповнення розрядної сітки і, отже, до неправильного результату. Тому для уникнення такої ситуації має виконуватись умова: .
Відомо два основних метода ділення чисел, а саме: ділення з відновленням та без відновлення остач.
За своїм характером операція ділення відноситься до операцій, що дають не завжди точний результат, тому ознакою закінчення операції ділення може бути досягнення заданої точності. Якщо в процесі ділення одержується остача R = 0, то операція зупиняється й у решту розрядів частки записується нуль. Звичайно формальною ознакою кінця операції ділення є одержання такої самої кількості розрядів у частці, яку мають операнди.
Подвоєння діленого та остачі практично виконується шляхом зсуву коду вліво на один розряд.
Алгоритм ділення модулів чисел без відновлення остач
ГСА такого множення має вигляд: | Цей алгоритм зводиться до виконання таких дій. 1. Подвоїти модуль діленого . 2. Відняти від подвоєного модуля діленого модуль дільника. Одержана різниця є першою остачею. 3. Проаналізувати знак остачі R. Якщо , то черговому розряду частки присвоїти цифру 1; якщо ж R < 0, то черговому розряду частки присвоїти цифру 0. 4. Подвоїти остачу. 5. Визначити чергову остачу, віднявши від попередньої остачі модуль дільника якщо і додавши до попередньої остачі модуль дільника якщо R < 0. Перейти до п. 3. П. 3 - п. 5 виконувати до одержання всіх необхідних цифр частки. |
Приклад 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с):