Gast
#93089
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?
|
Anzeige
|
Multiplizieren mit AVR?
Gast
#93089
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?
Gast
#93090
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.
Gast
#93091
Das funktioniert so nicht. Ich glaube, dass ist viel komplizierter?
Gast
#93092
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.
Gast
#93093
OK, danke.
Gast
#93094
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ß Antwort schreiben |
Anzeige
|