www.mikrocontroller.net

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


Autor: Antoras (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht 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),

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Antoras (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ich hab leider keinen AVR,...

Ähnliche AppNotes gibt es auch von anderen Herstellern.

MfG Spess

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.