Zahlenumwandlung

Gast #19370
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
Gast #19371
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.
Gast #19373
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
Gast #19375
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

Eine eigene Frage? Dieser Thread ist über 23 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.