Forum: Mikrocontroller und Digitale Elektronik Wie funktionieren Multiplikationen/Divisionen über mehrere Register


von Antoras (Gast)


Lesenswert?

Hallo,

ich würde gerne wissen wie Multiplikationen/Divisionen über mehrere 
Register funktionieren. Mein μC besitzt nur eine 8-Bit Genauigkeit, ich 
würde aber gerne Zahlen miteinander verrechnen, die mehr als 8-Bit 
Speicherplatz erfordern. Additionen/Subtraktionen hab ich schon 
hinbekommen, aber wie mach ich das bei Multiplikationen/Divisionen?

von Hc Z. (mizch)


Lesenswert?

Mach' mal von Hand eine Multiplikation mehrstelliger Zahlen und schreibe 
die Zwischenergebnisse (auch die, die man von Hand üblicherweise in 
einer Zeile durch Überträge auf die nächste Stelle zusammenfasst) 
untereinander.  So funktioniert's auch in der 8-Bit-CPU, nur dass die 
einzelnen Stellen nicht dezimal sind, sondern bei 8 Bit ein 
hexadezimales Byte sind.

Bei der Division geht es genau analog zur 
Division-Von-Hand-Vorgehensweise (nur dass die einzelnen Stellen binär 
sind, falls die CPU keine Hardwaredivision kann),

von Purzel H. (hacky)


Lesenswert?

Wie macht man's schriftlich  ? Das sollte noch praesent sein von der 
Schule. Genauso. Nur dass eine Stelle einen Faktor zwei ist, anstelle 
eines Faktor 10.

von spess53 (Gast)


Lesenswert?


von Antoras (Gast)


Lesenswert?

Danke für eure Antworten. Manchmal sieht man den Wald vor lauter Bäumen 
nicht.
Ich hab leider keinen AVR, aber da ich das Prinzip jetzt verstanden hab 
nach dem ich vorgehen muss, sollte es kein Problem sein das in Code 
umzusetzen.

von spess53 (Gast)


Lesenswert?

Hi

>Ich hab leider keinen AVR,...

Ähnliche AppNotes gibt es auch von anderen Herstellern.

MfG Spess

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

am einfachsten ist es natürlich, die Multiplikation in C zu 
programmieren - die Library-Routinen für die Rechenarten sind i.a. so 
weit optimiert, dass man sie selber auch nicht besser hinkriegt. 
Besonders bei Floating Variablen.

Gruss Reinhard

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.