Verdoppeln und Halbieren
Für die Multiplikation zweier natürlicher Zahlen kann auch das folgende − bereits im alten Ägypten angewendete und im folgenden anhand der Multiplikation 45 ⋅ 67 vorgestellte − Verfahren, das genau genommen nur die Kenntnis des Halbierens, Verdoppelns und Addierens voraussetzt, durchgeführt werden:
45 | 67 | Zu Beginn werden beide Faktoren in zwei nebeneinander liegende Spalten geschrieben. |
45 22 11 5 2 1 |
67 134 268 536 1072 2144 |
Nun wird der erste Faktor in der ersten Spalte Zeile für Zeile solange durch 2 dividiert, bis als Ergebnis die Zahl 1 auftritt. Dabei werden etwaige nichtganzzahlige Ergebnisse auf die nächstliegende ganze Zahl abgerundet und danach die Division durch 2 fortgeführt. Parallel zum Halbieren des ersten Faktors in der ersten Spalte wird der Faktor der zweiten Spalte fortlaufend verdoppelt. |
45 22 11 5 2 1 |
67 134 268 536 1072 2144 |
Jetzt werden alle Zeilen, die in der linken Spalte eine gerade Zahl enthalten, gestrichen. |
45 22 11 5 2 1 |
67 134 268 536 1072 2144 3015 |
Abschließend werden alle nicht gestrichenen Zahlen der zweiten Spalte addiert. Die dadurch gebildete Summe ist das gesuchte Produkt der beiden Faktoren. |
Das scheinbar Kuriose an diesem Verfahren ist, daß die Rechnung trotz etwaiger Rundungen in der ersten Spalte stets das richtige Ergebnis liefert.
Warum funktioniert also dieses Verfahren ?
Die Richtigkeit des Verfahrens kann mit der binären Darstellung des ersten Faktors begründet werden.
Nimmt man als Beispiel die oben zitierte Multiplikation 45 ⋅ 67, so gilt für den ersten Faktor bekanntlich 45 = 32 + 8 + 4 + 1, da die binäre Darstellung der dezimalen Zahl 45 gerade 101101 lautet.
Es gilt daher für die Multiplikation 45.67:
45 ⋅ 67 = (32 + 8 + 4 + 1) ⋅ 67 = 32 ⋅ 67 + 8 ⋅ 67 + 4 ⋅ 67 + 1 ⋅ 67
Das gesuchte Produkt kann also durch Addieren jener Zahlen aus der Spalte der Verdoppelungen, bei denen die Binärstelle des ersten Faktors gerade 1 ist, gebildet werden.
Somit stellt sich die Frage nach einer möglichst praktischen Umwandlung des ersten Faktors in das binäre Zahlensystem.
Betrachtet man die Einträge der ersten Spalte des Beispieles 45 ⋅ 67 sowohl in dezimaler als auch in dualer Form, so erhält man folgende Gegenüberstellung:
dezimal | dual |
---|---|
45 | 101101 |
22 | 10110 |
11 | 1011 |
5 | 101 |
2 | 10 |
1 | 1 |
Liest man diese Tabelle "von unten nach oben", so ergibt sich:
dezimal | dual |
---|---|
1 | 1 |
2 | 10 |
5 | 101 |
11 | 1011 |
22 | 10110 |
45 | 101101 |
Aus dem Dezimalsystem ist bekannt, daß das Verschieben aller Stellen einer Dezimalzahl um eine Stelle nach links und das anschließende Setzen der Ziffer 0 an die (neue) Einerstelle einer Multiplikation mit dem Faktor 10 entspricht.
Auch im Dualsystem können diese Schritte durchgeführt werden, allerdings wird die duale Zahl nicht mit dem Faktor 10, sondern mit dem Faktor 2 multipliziert.
Man erhält also aus der dualen Zahl 1 (dezimal 1) durch Verdoppeln die duale Zahl 10 (dezimal 2).
Wird nun diese Zahl verdoppelt und anschließend um eine Einheit vermehrt, so erhält man im Dualsystem über den Zwischenschritt 100 (dezimal 4) das Ergebnis 101 (dezimal 5).
Für die Ermittlung der binären Darstellung der dezimalen Zahl 45 muß daher die soeben angeführte Gegenüberstellung "von unten nach oben" gelesen werden, d.h. man berechnet zuerst die duale Einerstelle des ersten Faktors:
dezimal | dual |
---|---|
45 | ...cba1 |
Die duale (noch unbekannte) Zifferngruppe ...cba entspricht der dezimalen Zahl 44 (45 − 1).
Nun wird die Einerstelle (1) der dualen Zifferngruppe ...cba1 entfernt und jede der noch unbekannten Ziffern ...cba um eine Stelle nach rechts verschoben. Da dies im Dualsystem einer Halbierung (genauer: Teilung durch die Basis 2) entspricht, muß auch die entsprechende Dezimalzahl durch 2 geteilt werden.
Damit ergibt sich als Zwischenergebnis:
dezimal | dual |
---|---|
45 | ...cba1 |
22 | ...cba |
Die dezimale Zahl 22 ist bekanntlich eine gerade Zahl, weshalb sie im Dualsystem die Einerstelle 0 besitzt.
Somit gilt:
dezimal | dual |
---|---|
45 | ...cba1 |
22 | ...cb0 |
Wird nun wiederum die Einerstelle der aktuellen dualen Zifferngruppe ...cb0 entfernt und jede der noch unbekannten Ziffern um eine Stelle nach rechts verschoben, so erhält man
dezimal | dual |
---|---|
45 | ...cba1 |
22 | ...cb0 |
11 | ...cb |
Bei weiterer Fortführung des Verfahrens erhält man die bereits angeführte Tabelle
dezimal | dual |
---|---|
45 | 101101 |
22 | 10110 |
11 | 1011 |
5 | 101 |
2 | 10 |
1 | 1 |
Fazit:
Wenn die jeweilige Hälfte der Dezimalzahl eine ungerade Zahl ist, so entsteht an der entsprechenden Binärstelle des ersten Faktors die Ziffer 1.
Und da für das gesuchte Produkt genau jene Zeilen der "Verdoppelungsspalte" benötigt werden, bei denen die Binärstelle des ersten Faktors 1 ist, werden nur jene Zeilen aus der "Verdoppelungsspalte" addiert, bei denen die Zahlen aus der "Halbierungsspalte" ungerade sind.