Mathe: Rückführen von Subtraktion, Multiplikation und Division auf Addition
-
Hallo!
Bin gerade dabei, herauszufinden, wie man die drei anderen Grundrechenarten auf die Addition zurückführen kann. Soweit ich weiss, haben die ersten Intel-Prozessoren das so gemacht, später wurde aus Performancegründen dann lieber die ALU erweitert, damit auch diese Rechnungen direkt ausgeführt werden konnten.Subtraktion
Die Subtraktion lässt sich auf die Addition zurückführen, indem man das Komplement des Subtrahenden bildet (d.h. den Subtrahenden negiert) und zum Minuenden addiert.Multiplikation
Lässt sich realisieren, indem man den ersten Faktor so oft zu sich selbst addiert, wie der Wert des zweiten Faktors ist. Multiplikation mit 2er-Potenzen lässt sich im Binärsystem zudem durch Verschieben nach links realisieren, so wie es im Dezimalsystem bei der Multiplikation mit 10er-Potenzen der Fall ist.Division
Bei 2er-Potenzen im Dualsystem durch Verschieben nach rechts, dasselbe gilt für 10er-Potenzen im Dezimalsystem.
Und sonst??? Das ist ja keine Rückführung auf die Addition! Das konnte ich bisher nicht rausfinden.Stimmt das soweit? Wie führt man die Division auf Addition zurück? Gibt es vielleicht noch bessere (schnellere?) Verfahren?
-
Hmm... bei Division:
z.B. 15/5
(15=5+5+5)
also 3*5
Ergebnis 3Anders geht es nicht
-
Division: (a/b)
int result=0; while (a > b) { a += -b; ++result; } // result beinhaltet dann das Ergebnis, a den Rest
-
Dafür hat man sich die Logarithmusrechnung überlegt um Multiplikation/Division auf Additionen/Subtraktionen zurückzuführen.