ПредишенСледващото

ОТДЕЛ двоични числа

Ако умножението се извършва чрез повторни допълнения и промени, разделението е обратна операция умножение - чрез множество смени и изваждане.

(Подходящите фракции БЕЗ цяло).

При представянето на номера на фиксирана точка разделяне е възможно, когато дружеството е по-малко от разделителя на модул, в противен случай преливник цифри мрежа.

Точно както в "ръчно" делене, частни номера ниво делене определени на машината (започващи с най-голямото) чрез последователно изваждане на делителя от остатъка, получен чрез изваждане на предишното. Тук обаче операция на изваждане е операция на добавяне е заменен с остатък с отрицателен делител показано в обратен или допълнителен код. Лично знак се определя чрез добавяне на модул две кодови обозначения дивидент и делител.

Помислете първо примера на раздели "ръчно" метода.

Разделението на двоични числа

Тук, след изваждане на всеки разделител се измества надясно по отношение на дивидент. Ако останалата След изваждане става положителен през изхвърлянето лично записани 1 ако е отрицателно - нула. На практика отрицателно салдо не се записва, делител е изместен по-нататък в дясно от една цифра, и се изважда от положителен баланс.

В смяна на колата до десния разделител направен баланс смяна на ляво, това е, всъщност, не променя нищо.

При разделяне на остатъка чрез редукция с отрицателен баланс се възстановява чрез сумиране на положителен подгрупа. Рециклирана остатък е изместен вляво от най-малко. От баланса отново изместен изважда разделител. Според знака на получения остатък се определя от фигурата на друга частна категория. Процесът на разпад продължава до предварително определен брой цифри частно осигуряване на необходимата точност на резултата.

Нека да видим как да решим предишния пример в кола.

Процесът започва с разделянето на преминаването на дивидент наляво от един бит, и след това към нея се прибавя делител е показано, например, в допълнителен модифициран код:

Разделението на двоични числа

Очевидно е, че намаляване на делене остатък в най-лошия случай да образуват всяка отговорност частен необходимо за извършване две операции: изваждане (добавяне на допълнителен код или обратно) и добавяне (възстановяване баланс). Това означава, че изпълнението на операцията по разделянето може да бъде два пъти повече в сравнение с възможния минимум.

приложат разделение остатък без възстановяване да се намали средната операция на времето за изпълнение разделение, алгоритъмът е както следва.

1) Определяне на знака на коефициент модул две икона съдържанието на бита на дивидент и делителя.

2) изваждане от дивидента делителя. Ако останалата част е отрицателен, преминете към стъпка 3. В противен случай изчисление покритие (на преливане).

3) Не забравяйте знака на баланс.

4) Преместване на утайката, останала след най-малко.

5) Задаване делител знак противоположна на тази на останалата част се съхранява в п. 2.

6) Fold изместен делител и остатъкът (със знак).

7) Присвояване на частния цифрен код стойност остатък обратен знак.

8) Повторете стъпки 3-7, докато изпълнението, докато не ще осигури необходимата точност на изчисление на частния.

Решение на примера по-горе в този случай се извършва, както следва:

Разделението на двоични числа

плаваща запетая

При извършване на операция по разделяне на число с плаваща точка мантисата частния определя чрез разделяне на мантисата на разделителя на дивидент мантиса и реда на частен ред чрез изваждане на делителя от дивидент код ред на кода, тъй като

Разделяне цялата н-малко не-нула (с изключение на битовете за знак) на броя на А: В, представени в напред (за простота) код резултатите в цяло число частен С и остатък 0, което се определя на знака на дивидент; Лично знак, се изчислява по модул сума два операнда А и Б.

Разделянето се извършва в следната последователност.

1) делител е изместен в ляво (нормално), така че в разгара на данните бит е 1, се брои броя на смените, S; отношението може да бъде не повече от (S + 1) бита не са равни на нула.

2) В изпълнение (S + 1) разделяне цикъл модули | А | на IB'l където В '- нормализира В, в резултат на което се съхранява (S + 1) частен освобождаване започвайки с най-голямото от (S + 1) младши.

3), получен в РС разделяне на остатъчни последния цикъл + 1, ако е положителен, изместен от полето S бита; ако Rs + 1 <0 (отрицательный), то остаток восстанавливается: к нему добавляется |В'|, т. е.[Rs+1]вост = Rs+1+|B'|. После этого выполняется сдвиг вправо на S разрядов. В результате получается целый остаток от деления.

Коефициент и остатъка се назначава значки.

Разделението на двоични числа

Подкрепете проекта - споделете линка, благодаря!