Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Algorithmen (http://www.informatikerboard.de/board/board.php?boardid=17)
----- effizienter Multiplikationsalgorithmus (http://www.informatikerboard.de/board/thread.php?threadid=1712)


Geschrieben von deppensido am 26.11.2013 um 18:24:

  effizienter Multiplikationsalgorithmus

Hallo,

die Aufgabe ist es in Assembler einen Multiplikationsalgorithmus zu schreiben, der maximal 16 Additionen und logische Operationen benötigt. Mit welchem Algorithmus bekommt man das mit den wenigen Additionen hin? Ich hab bislang nur rekursive Algorithmen gefunden, möchte es aber lieber iterativ lösen.

Grüße



Geschrieben von eulerscheZahl am 28.11.2013 um 06:14:

 

Assemblercode wirst du von mir nicht zu sehen bekommen, ich bin froh, dass ich das nicht mehr machen muss (Außerdem weiß ich nicht, für welchen Prozessor).

Mein Vorschlag (Pseudocode) wäre:
code:
1:
2:
3:
4:
5:
6:
7:
produkt = 0;
for Bit from erstesBitVonZahl1 to letztesBitVonZahl1 do
    produkt <<= 1; //bisheriges Ergebnis um 1 nach links shiften
    if(Bit == 1)
        produkt += zahl2;



Geschrieben von ed209 am 30.11.2013 um 17:24:

 

Schreib doch mal die rekursiven Algorithmen hier auf.
Viele rekursive Algorithmen lassen sich einfach in iterative Algorithmen umwandeln.
Besonders wenn der rekursive aufruf am Ende der Funktion steht.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH