Деление дополнительных кодов чисел
Деление чисел, представленных в дополнительном коде, выполняется в три этапа.
На первом этапе вычисляется знак частного как результат сложения по модулю 2 знаков операндов.
На втором этапе производится операция проверки на возможность деления (на денормализацию частного влево) путем алгебраического сложения делимого с делителем, которому приписывается знак, противоположный знаку делимого. При этом если делимое положительное, то цифра частного, оказывающаяся в знаковом разряде, определяется инверсией знакового разряда сумматора. Если делимое отрицательное, то текущая цифра частного равна прямому значению знакового разряда сумматора.
На третьем этапе выполняются n циклов деления по обычному алгоритму с некоторыми отличиями, заключающимися в том, что при отрицательном делителе цифры частного формируются равными прямому значению знакового разряда очередного частичного остатка. При этом частное получается в обратном коде. Кроме n основных циклов, обязательно вычисление -й цифры частного в дополнительном цикле, поскольку в дальнейшем нормализованное при необходимости частное поступает на сумматор, где к -му разряду добавляется единица для округления и перевода частного из обратного кода в дополнительный.
Читателю предлагается самостоятельно разобрать примеры, взяв в качестве операндов мантиссы из предыдущих примеров. При этом следует помнить, что отрицательные операнды должны быть представлены в дополнительном коде.
Дата добавления: 2014-12-27; просмотров: 945;