BCD zu ASCII wandeln?!

#3499201
Lesenswert?
• ▲
▼
Öhm,

BCD ist doch der Binärwert der Zahlen 0-9.

0 = 0000
1 = 0001
...
9 = 1001

Alles was zu tun wäre ist eine Addition einer ASCII-"0" (= 48?) und 
deines BCD-Wertes. Achte darauf sie vorher auf gleiche Typen zu bringen 
sonst
wird bei jeder deiner Additionen zuerst der Typ konvertiert und dann 
erst addiert. Das kostet CPU-Zeit und führt zu unerwünschten 
Nebeneffekten.

Oder meinst du EBCDIC?
#3499229
Lesenswert?
• ▲
▼
Detlev S. schrieb:
> Öhm,
>
> BCD ist doch der Binärwert der Zahlen 0-9.

Dann würde man es Binärwert nennen.

Wenn du aber von einer RTC die Minuten als BCD Wert in einem Byte 
bekommst, ist die Sache sonnenklar.
Das Low-Nibble enthält eine Ziffer (0-9) und das High-Nibble enthält 
eine Ziffer (0-9)

Die Aussage: wir haben BCD-Zahlen macht nur dann Sinn, wenn beide Nibble 
eine Ziffer halten können. Ansonsten hat man einfach nur Binärzahlen im 
Wertebereich von 0 bis 9
#3499302
Lesenswert?
• ▲
▼
Lothar Miller schrieb:
> Auch wenn ich hier offenbar in der Minderheit bin:
> Ich bin der Meinung, dass in 8 Bit 2 BCD-Zahlen passen... ;-)

Das nennt man dann typischerweise packed BCD

Aber ich folge dir gern dahingehend, daß die RTC ziemlich sicher packed 
BCD ausgibt und dem TE beim Formulieren seiner Frage nicht so ganz klar 
war, daß das Adjektiv packed hier wichtig ist.


XL
Moderator (Firma: Titel) Persönliche Seite #3499319
Lesenswert?
• ▲
▼
Rufus Τ. Firefly schrieb:
> Das wird dann als packed BCD bezeichnet
Ich lasse da der Einfachheit halber das packed immer weg und schließe 
mich der Meinung von Karlheinz an: wenn nur tatsächlich nur 1 BCD Zahl 
im Byte ist, dann habe ich einfach nur eine übliche Binärzahl im Bereich 
von 0..9. Erst wenn das obere Nibble auch verwendet wird und sich dessen 
Wertebereich von 0..9 bewegt, ist es eine BCD-Zahl.
Insofern gilt also "BCD = packed BCD"...

> (und dürfte das sein, was die RTC hier liefert)
Das machen die üblichen RTC, die ich so kenne...
http://electronics.stackexchange.com/questions/12606/why-do-real-time-clock-chips-use-bcd

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.