Смекни!
smekni.com

Конспект лекций по дискретной математике (стр. 14 из 14)

На четвертом шаге при сдвиге остатка произошло искажение его знака. Выполняемое действие над остатком должно определяться его знаком для предыдущего шага (до сдвига). В схемной реализации этот факт необходимо учитывать путем применения модифицированного кода с удвоенным знаковым разрядом. В связи с этим разрядность регистра для хранения остатка и частного должна быть 2n+1, а разрядность сумматора (сумматора вычитателя) n+1. При получении нулевого остатка на коком либо шаге деления для следующего шага остаток будет равен делителю. При его сдвиге влево он станет равен удвоенному делителю. И после вычитания делителя на следующем шаге он снова станет равен делителю. Таким образом в конце операции после выработки всех цифр частного остаток будет не нулевым, а равным делителю. Если при этом его знак совпадает со знаком делимого, то в соответствии с основным алгоритмом деления он не подлежит коррекции.

Для устранения этого недостатка алгоритма во всех случаях совпадения знака остатка и делимого выполняется попытка так называемой псевдокоррекции. Если после этой коррекции остаток равен нулю, то он является истинным, если же остаток не равен нулю, то требуется его восстановление обратным по сравнению с псевдокоррекцией действием с делителем.