Nichtwiederherstellender Divisionsalgorithmus

7

Kennt jemand die Schritte zum Unterteilen von vorzeichenlosen binären Ganzzahlen mit nicht wiederherstellender Division?

Es ist schwer, online gute Quellen zu finden.

, d. h. wenn A = 101110 und B = 010111

Wie finden wir A divided by B in der nicht wiederherstellenden Division? Wie sehen die Register in jedem Schritt aus?

Danke!

    
CyberShot 26.08.2012, 20:51
quelle

2 Antworten

20

(Meine Antwort ist ein bisschen spät-Antwort. Aber ich hoffe, dass es für zukünftige Besucher nützlich sein wird)

Der Algorithmus für die nicht wiederherstellende Division ist in der folgenden Abbildung angegeben:

In diesem Problem ist Dividend (A) = 101110, dh 46, und Divisor (B) = 010111, dh 23.

Initialisierung:

%Vor%

Danach starten wir den Algorithmus, den ich in einer Tabelle unten gezeigt habe:

In der Tabelle SHL(AQ) denotes shift left AQ by one position leaving Q0 blank .

In ähnlicher Weise bezeichnet ein quadratisches Symbol in der Position Q0 it is to be calculated later

Hoffe, alle Schritte sind klar vom Tisch entfernt !!!

    
Abid Rahman K 05.02.2013 16:30
quelle
-1

1) Setzen Sie den Wert von Register A auf 0 (N Bits)
2) Setze den Wert von Register M als Divisor (N Bits)
3) Setze den Wert von Register Q als Dividend (N Bits)
4) Verknüpfen Sie A mit Q {A, Q}
5) Wiederholen Sie die folgenden "N" -Zeiten (hier ist N die Anzahl der Bits im Divisor):
Wenn das Vorzeichenbit von A gleich 0 ist,
Shift A und Q kombiniert links um 1 Bit und    subtrahiere M von A,
sonst shift A und Q kombiniert links um 1 Bit und add M zu A
Wenn nun das Vorzeichenbit von A gleich 0 ist, dann setze Q [0] auf 1, sonst setze Q [0] auf 0 6) Schließlich, wenn das Vorzeichenbit von A gleich 1 ist, addiere M zu A.
7) Weisen Sie A als Rest und Q als Quotienten zu.

    
Jhashank Gandhi 05.03.2018 17:18
quelle