Forum: Mikrocontroller und Digitale Elektronik Zahlenumwandlung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Marco (Gast)


Lesenswert?

Hallo,
Kann mir jemand sagen, wie ich am besten eine 8-Bit-Dualzahl in ein 
"LCD-freundliches" Format umwandeln kann?
Also, wie gesagt: ich hab ein Byte voll mit 0 und 1. Dieses möchte ich 
so aufsplitten, dass ich für jede Dezimal-Stelle(hunderter/zehner/einer) 
ein eigenes Byte hab. Hat jemand ne Routine in Assembler dafür? Wär echt 
nett.
thx marco

von crazy horse (Gast)


Lesenswert?

das ist ganz einfach, Byte durch 10 teilen, der Rest gibt schon die 
Einer. Das Ergebnis nochmal durch 10 teilen, Rest ergibt die Zehner, 
Ergebnis die Hunderter. Zur Umwandlung in ASCII zu jeder Zahl nochmal 
0x30 addieren.

von Marco (Gast)


Lesenswert?

Hi
... wenn du mir jetzt noch sagst, wie ich durch 10 dividiere...
MfG marco

von Eckhard (Gast)


Lesenswert?

Du kannst auch 100 abziehen, bis die Zahl kleiner als 100 ist. Bei jeder 
Subtraktion erhöhst Du Byte1 um 1. Danach fängst Du an 10 abzuziehen bis 
das ergebnis kleiner 10 ist und erhöhst Byte2. Byte 3 ist dann der Rest 
den Du übrig hast. Ist eigentlich ne Division in einzelschritten aber 
was solls.


Eckhard

von crazy horse (Gast)


Lesenswert?

http://www.atmel.com/atmel/products/prod203.htm
avr200, da ist (fast) alles drin, was man so als Assemblerprogrammierer 
für Multiplikation/Division ganzer Zahlen braucht.

von Marco (Gast)


Lesenswert?

Oh, die Site kannte ich noch nicht. Steht ja wirklich (fast) alles drin 
:-)
Habs aber mit der Subtraction gemacht, da ich Stellen sofort in der 
richtigen Reihenfolge ausgeben kann, ohne Register für die 
Zwischenspeicherung zu verwenden. Die Dinger werden nämlich langsam 
knapp bei mir.

thx

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]
  • [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.