IV.4.4
Деление на
числа с ляво
фиксирана запетая
в
допълнителен
код
Тук има
смисъл да се
демонстрира
алгоритъмът
за деление
при
предварителното
условие, че
операндите с
ляво
фиксирана
запетая, са ляво
нормализирани
числа. Това
условие
произтича от
факта, че
числата с
ляво
фиксирана
запетая
представляват
мантиси във
формата с
плаваща
запетая. В тази
връзка
следва още да
припомним, че
мантисите на
числата с
плаваща
запетая се
представят в
прав код. Все
пак
числената
илюстрация
тук ще бъде
върху числа,
чийто знак се
отчита, т.е. те
са представени
в
допълнителен
код.
Както и в предидущите алгоритми, делението започва с необходимите проверки на условията за дефинираност и изпълнимост на операцията. За да не настъпва препълване е необходимо изпълнение на неравенството
|Дм| < |Дт| .
В този
случай всичките
n разряда
на частното
са
неизвестни.
Горното
условие
обаче не
винаги е
изпълнено,
модулът на мантисата
на делимото
може да е
по-голяма или
равна на модула
на мантисата
на делителя.
Тогава частното
ще се намира
в диапазона
[ -(2-2(-n)) ¸ +(2-2(-n)) ]
ПРИМЕР
126. Да се
изпълни
операция
деление Z=X/Y на
числата X=0,53125 и
Y=-0,875 ,
които са
представени
в разрядна
мрежа с
дължина n=6[b] в
допълнителен
код.
не е верен,
необходима е
корекция:
Получените
5 двоични
цифри в
дробната
част на частното
са
недостатъчни
за
приближаване
на резултата
до точната му
стойност,
изчислена в
началото на
примера. За
постигане на
по-висока
точност,
процесът на
деление може
да бъде
продължен,
като частното
се получи в
удължен
формат,
както е
показано
по-надолу с
продължението
на примера:
Този
нов резултат:
също
не е верен, необходима
е корекция:
Този
резултат
отново е
неточен, но е
значително
по-близък до
истинския !