Es läuft im Endeffekt auf das Gleiche hinaus, wie bei der
Multiplikation. Wenn man noch gelernt hat, von Hand zu dividieren,
kommt man relativ einfach auf den Algorithmus.
Beispiel: 86 / 10
214 = binär 11010110, 10 = binär 00001010
Man muß allerdings den Divisor (in diesem Fall die 10) normalerweise 8
Mal in einem 16-Bit Register shiften. Wenn der Divisor immer 10 ist,
kann man das natürlich optimieren.
Wir beginnen mit der 10 4x nach links geshiftet, oder auch
"normalisiert", d.h. die führende 1 linksbündig.
214= 11010110
-10100000 geht, also 1 (MSB)
---------
00110110
shift>> -01010000 geht nicht, -> 0
00110110
shift>> -00101000 geht -> 1
----------
00001110
shift>> 00010100 geht nicht ->0
00001110
shift>> 00001010 geht 1 (LSB)
---------
0100 = Rest |_ Ergebnis 10101
= 21 Rest 4