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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.