Binär to Dezimal

Gast #175500
Lesenswert?
• ▲
▼
Hallo,

das gleiche habe ich gestern für einen 8-Bit-Wert beim Mega8 gemacht.
Nur sollten bei mir noch zwei Stellen hinter dem Komma herauskommen für
Spannungswerte, die am AD-Wandler anliegen. Nebenbei musste der Wert
auch noch umgerechnet werden, so dass tatsächlich die richtige Spannung
ausgegeben wird und nicht z.B. das 1,15-Fache. Das hat den ganzen
Nachmittag gekostet.

Bei dir ist der Fall einfacher:
Mit 12 Bit kann der maximale Wert der Zahl 1024 sein.

1. Stelle:
So oft 1000 abziehen bis Rest < 1000

2. Stelle:

vom Restwert von Stelle-Eins-Berechnung so oft 100  abziehen bis < 100

3. Stelle

vom Restwert von Stelle-Zwei-Berechnung so oft 10 abziehen bis < 10

4. Stelle
entspricht  Restwert von Stelle-Drei-Berechnung und kann direkt
übernommen werden.
Gast #175502
Lesenswert?
• ▲
▼
mit 3 x 16 bit division geht das schon:

a = gesamt-wert

b = a / 100
c = a mod 100
(b ist das ergebnis und c ist der rest, bei den meisten div befehlen
kommen beide ergebnisse)

dann:

d = b / 10
e = b mod 10
(s.o.

f = c / 10
g = c mod 10

dann ist die zahl:
[d] [e] [f] [g]
Gast #175503
Lesenswert?
• ▲
▼
anmerkung zum oberen post:

vergleiche die zeiten (takte für übliche werte zusammenrechnen) für die
divisions-methode und die schleifen-methode und nimm dann die schnellere
(einige uC haben HW mul/div)

Antwort schreiben

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.

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.