Деление двоичных чисел с фиксированной запятой

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

В ЭВМ последовательное вычитание делителя заменяется сложением положительного делимого и остатков в модифицированном обратном или в модифицированном дополнительном коде с отрицательным делителем. Остатки также получаются в соответствующем коде.

При делении чисел с фиксированной запятой оба операнда (делимое Деление двоичных чисел с фиксированной запятой - student2.ru и делитель Деление двоичных чисел с фиксированной запятой - student2.ru ) по модулю должны быть меньше единицы. При этом, чтобы при получении частного не произошло переполнение разрядной сетки, необходимо выполнение дополнительного условия Деление двоичных чисел с фиксированной запятой - student2.ru . Поэтому перед началом деления из модуля делимого вычитается модуль делителя. Если разность положительная, то делить нельзя, т.к. Деление двоичных чисел с фиксированной запятой - student2.ru , и процесс деления необходимо остановить. Если разность отрицательная Деление двоичных чисел с фиксированной запятой - student2.ru , то делить можно. Для этого необходимо восстановить модуль делимого путем прибавления к отрицательной разности модуля делителя и начать процесс деления.

Деление осуществляется следующим образом.

Определяется знак частного путем сложения по модулю два знаков делимого и делителя. Затем производится собственно деление. При этом цифры частного определяются последовательно, разряд за разрядом, начиная со старшего разряда, путем вычитания, например, сдвинутого на один разряд вправо делителя из остатка, полученного от предыдущего вычитания. При определении первой цифры частного за остаток принимается все делимое со знаком плюс. После каждого вычитания делитель сдвигается вправо на один разряд по отношению к делимому и образующимся остаткам. Если остаток от вычитания положительный или равен нулю, то в соответствующий разряд частного заносится 1. Если остаток отрицательный, то соответствующая цифра частного равна 0. Для того, чтобы получить следующую после нуля цифру частного, можно из последнего положительного остатка вычесть делитель, дополнительно сдвинутый на один разряд вправо. Однако в этом случае необходимо выполнить дополнительную операцию сложения для восстановления последнего положительного остатка.

В современных ЭВМ алгоритм деления с восстановлением положительного остатка практически не используется. Если очередной остаток оказался меньше нуля, то к этому отрицательному остатку прибавляется дополнительно сдвинутый на один разряд вправо делитель. При этом образуется очередной остаток. Если он больше или равен нулю, то в соответствующий разряд частного записывается 1, в противном случае - 0 и вычислительный процесс продолжается.

Пример.

Делимое Деление двоичных чисел с фиксированной запятой - student2.ru

Делитель Деление двоичных чисел с фиксированной запятой - student2.ru .

Требуется найти Деление двоичных чисел с фиксированной запятой - student2.ru , т.е. найти Деление двоичных чисел с фиксированной запятой - student2.ru и Деление двоичных чисел с фиксированной запятой - student2.ru .

Деление возможно, т.к. Деление двоичных чисел с фиксированной запятой - student2.ru .

Операции вычитания модуля делителя из модуля делимого и остатков будем выполнять в модифицированном дополнительном коде. Деление производится без восстановления остатка.

Первый шаг.Определение знака частного путем сложения по модулю два знаков делимого и делителя:

Деление двоичных чисел с фиксированной запятой - student2.ru .

Второй шаг.Определение первого (старшего) разряда частного Деление двоичных чисел с фиксированной запятой - student2.ru путем вычитания из модуля делимого модуля делителя, сдвинутого на один разряд вправо:

Деление двоичных чисел с фиксированной запятой - student2.ru Деление двоичных чисел с фиксированной запятой - student2.ru

Деление двоичных чисел с фиксированной запятой - student2.ru .

Третий шаг. Определение второго разряда частного Деление двоичных чисел с фиксированной запятой - student2.ru путем вычитания из положительного остатка делителя, сдвинутого еще на один разряд вправо:

Деление двоичных чисел с фиксированной запятой - student2.ru Деление двоичных чисел с фиксированной запятой - student2.ru

Деление двоичных чисел с фиксированной запятой - student2.ru .

Четвертый шаг. Определение третьего разряда частного Деление двоичных чисел с фиксированной запятой - student2.ru путем вычитания из очередного положительного остатка делителя, сдвинутого еще на один разряд вправо:

Деление двоичных чисел с фиксированной запятой - student2.ru Деление двоичных чисел с фиксированной запятой - student2.ru

Деление двоичных чисел с фиксированной запятой - student2.ru .

Пятый шаг. Определение четвертого разряда частного Деление двоичных чисел с фиксированной запятой - student2.ru путем сложения отрицательного остатка со сдвинутым еще на один разряд вправо делителем:

Деление двоичных чисел с фиксированной запятой - student2.ru Деление двоичных чисел с фиксированной запятой - student2.ru

Деление двоичных чисел с фиксированной запятой - student2.ru .

Шестой шаг.Определение пятого разряда частного Деление двоичных чисел с фиксированной запятой - student2.ru путем сложения отрицательного остатка со сдвинутым еще на один разряд вправо делителем:

Деление двоичных чисел с фиксированной запятой - student2.ru Деление двоичных чисел с фиксированной запятой - student2.ru

Деление двоичных чисел с фиксированной запятой - student2.ru .

Седьмой шаг.Определение шестого разряда частного Деление двоичных чисел с фиксированной запятой - student2.ru аналогично предыдущему:

Деление двоичных чисел с фиксированной запятой - student2.ru Деление двоичных чисел с фиксированной запятой - student2.ru

Деление двоичных чисел с фиксированной запятой - student2.ru .

Восьмой шаг.Определение седьмого разряда частного Деление двоичных чисел с фиксированной запятой - student2.ru путем вычитания из положительного остатка делителя, сдвинутого в очередной раз на один разряд вправо:

Деление двоичных чисел с фиксированной запятой - student2.ru Деление двоичных чисел с фиксированной запятой - student2.ru

Деление двоичных чисел с фиксированной запятой - student2.ru .

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

Результат операции деления

Деление двоичных чисел с фиксированной запятой - student2.ru .

Наши рекомендации