Tabelle 2: Die schriftliche Division

Beispiel 1: Es wird der Quotient 6,25 / 5,0 berechnet:
   6,25  : 5,0                           = 1,25
-  5,0     Subtraktion von 1 * 5,0         ^ ^^
  -----                                 ---+ ||
=  1,25	   Rest                              ||
  12,50  : 5,0 (Verschiebung d. Kommas)      ||
- 10,00	   Subtraktion von 2 * 5,0      -----+|
  -----                                       |
=  2,50    Rest                               |
  25,00  : 5,0 (Verschiebung d. Kommas)       |
- 25,00    Subtraktion von 5 * 5,0      ------+
  -----
= 00,00    Rest 0, Ende der Division

Beispiel 2: Es wird der Quotient 2,8 / 5,0 berechnet:
   2,8   : 5,0                           = 0,56
  28,00  : 5,0 (Verschiebung d. Kommas)      ^^
- 25,00    Subtraktion von 5 * 5,0      -----+|
  -----                                       |
=  3,00                                       |
  30,00  : 5,0 (Verschiebung d. Kommas)       |
- 30,00    Subtraktion von 6 * 6,0      ------+
  -----
= 00,00

Beispiel 3: Es wird der Quotient 26 / 7 im Binärsystem gebildet:

Darstellung der Zahlen im Binärsystem:

261,1010 * 24
71,1100 * 22

Differenz der Exponenten: 4 - 2 = 2
Division der Mantissen:
   1,1010 : 1,1100 =                0,1 1 1 0  (110110110...
-  1,1100 ergibt Carry, daher '0'   ^ ^ ^ ^ ^
  11,0100 Verschiebung des Kommas     | | | |
-  1,1100 kein Carry, daher '1'   ----+ | | |
  -------                               | | |
=  1,1000                               | | |
  11,0000 Verschiebung des Kommas  (*)  | | |
-  1,1100 kein Carry, daher '1'   ------+ | |
  -------                                 | |
=  1,0100                                 | |
  10,1000 Verschiebung des Kommas         | |
-  1,1100 kein Carry, daher '1'   --------+ |
  -------                                   |
=  0,1100                                   |
   1,1000 Verschiebung des Kommas           |
   1,1100 ergibt Carry, daher'0'  ----------+
  11,0000 Verschiebung des Kommas
-  1,1100 kein Carry, daher '1'
Die letzte Differenz wurde bei (*) schon einmal berechnet. Das Ergebnis ist also eine periodische Zahl, die folgende Berechnung kann unendlich lange fortgesetzt werden, wobei immer wieder die Ziffernfolge '110' entsteht.

An den Stellen, an denen ein Carry auftrat, wird die Subtraktion nicht durchgeführt. Es wird vielmehr mit dem alten Dividenden weitergerechnet. Die Subtraktion hat dann nur eine vergleichende Funktion.
Das Ergebnis ist der Binärbruch 0,1110110110110... * 22
Nach der Berechnung der Mantisse ist ein Normalisierungsschritt notwendig, um wieder eine führende Eins zu erhalten.

Das endgültige Ergebnis lautet: 1,110110110110... * 21

Zur Kontrolle summieren wir die ersten Binärziffern auf:
1.11011011*2 ^ 1 =
 =(1 + 1/2 + 1/4 + 1/16 + 1/32 + 1/128 + 1/256) * 2
 =1,85546875*2
 =3,7109375

26 / 7 = 3,714285...

Bei der Berücksichtigung von neun Binärziffern erhalten wir bereits drei übereinstimmende Dezimalziffern. Hätten wir die gesamten 24-Bit einer Single-Precision-Zahl überprüft, so würden ca. sieben Dezimalziffern übereinstimmen.

Algorithmus:
für i = 25 bis 0
   Dividenden merken
   Divisor vom Dividenden zu subtrahieren
   falls möglich (kein Carry), dann setze Bit-i im Ergebnis
   sonst gemerkten Dividenden zurückkopieren und
     Bit-i im Ergebnis löschen
   Dividenden um ein Bit nach links verschieben
nächstes i

Scanned by Werner Cirsovius
September 2004
© Franzis' Verlag