Forum: Mikrocontroller und Digitale Elektronik Multiplizieren mit AVR?


von Sencer Soylu (Gast)


Lesenswert?

Hallo,
das mit dem Addieren ist sehr leicht, aber das mit dem Multiplizieren
ist sehr schwer wie es aussieht!
Wie muss ich vorgehen, um zwei Zahlen miteinander zu multiplizieren?

von Thorsten (Gast)


Lesenswert?

mul r5, r4 (Multipliziert r4 und r5, Ergebnis steht in r1 und r0)
Kommt aber auf den Proz an, nicht jeder hat den mul-Befehl.

von Sencer Soylu (Gast)


Lesenswert?

Das funktioniert so nicht.
Ich glaube, dass ist viel komplizierter?

von thkais (Gast)


Lesenswert?

Ist es nicht.
Welchen Controller benutzt Du? Bei den größeren ist der MUL-Befehl
implementiert, sollte im Datenblatt stehen.
Hast Du in der Schule noch das multiplizieren von Hand gelernt?

z.B. 4 x 5 ist Binär 0100 x 0101


       0100 x 1 =     0100
      01000 x 0 =    00000 +
     010000 x 1 =   010000 +
    010000  x 0 =  0000000 +
---------------------------
                   0010100 = 20


Also: Multiplikator Bitweise prüfen, den Multiplikanden Bitweise nach
links schieben. Funktioniert mit beliebig langen Zahlen.

von Sencer Soylu (Gast)


Lesenswert?

OK, danke.

von Chris (Gast)


Lesenswert?

Hallo,

siehe AVR application-Notes.

"AVR200: Multiply and Divide Routines (19 pages, updated 10/98)
This Application Note lists subroutines for multiplication and Division
of 8 and 16-bit signed and unsigned numbers. "

Für erhöhte Anforderungen gibt's das hier:
http://mirror01.users.i.com.ua/~birua/math32.html

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.