ATmega8: Divison durch 1000

OP #1656919
Lesenswert?
• ▲
▼
Hi,
ich möchte in Assembler (mit ATmega8) folgende Berechnung machen:
1
y = k*1,125
wobei k ganzzahlig ist und einen Wert von 500 bis 10.000 annehmen kann.

Natürlich kann man das Komma zunächst ignorieren, mit einer 16-bit 
Multiplikation arbeiten, das Ergebnis durch 1000 teilen und anschließend 
die Nachkommastellen wegwerfen (diese Genauigkeit reicht hier aus).

Die 16-bit Multiplikation ist dabei kein Problem, es gibt es ja genügend 
Beispiele, aber wer kann mir bei der Division durch 1000 helfen und wie 
werde ich die Nachkommastellen los? Oder gibt es vielleicht eine andere, 
elegantere Lösung?
Danke im Voraus.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.