www.wikidata.de-de.nina.az
BCD Code steht im Englischen fur binary coded decimal also dualkodierte Dezimalziffer Dabei wird jede dezimale Ziffer 0 bis 9 durch jeweils vier Bit dargestellt 0000 bis 1001 siehe Codetabelle also in einem Halbbyte Nibble Eine andere Bezeichnung ist 8 4 2 1 BCD Code Die Ziffernfolge 8 4 2 1 steht dabei fur die Werte der Stellen in einer dualkodierten Dezimalziffer In einigen Fallen wird mit BCD die allgemeine Binarkodierung einzelner Dezimalziffern bezeichnet siehe weiter unten Der BCD Code sollte nicht mit dem BCD Zahlcode verwechselt werden BCD CodeStellenzahl 4bewertbar jastetig neinGewicht 3Minimaldistanz 1Maximaldistanz 4Hamming Abstand 1Redundanz 0 678CodetabelleDezimal ziffer 8 4 2 1 BCD kodiert HEX kodiert0 0 0 0 0 01 0 0 0 1 12 0 0 1 0 23 0 0 1 1 34 0 1 0 0 45 0 1 0 1 56 0 1 1 0 67 0 1 1 1 78 1 0 0 0 89 1 0 0 1 9Codetafel 8 4 2 1 BCD Code die grauen Felder zeigen die Pseudotetraden und gehoren nicht mehr dazu Inhaltsverzeichnis 1 Kodierung 2 Anwendung 3 Andere BCD Codes 4 Weblinks 5 EinzelnachweiseKodierung BearbeitenUm eine Zahl als 8 4 2 1 BCD Zahl darzustellen wird jede dezimale Ziffer 0 bis 9 durch jeweils vier Bit dargestellt 0000 bis 1001 siehe Codetabelle also in einem Halbbyte Nibble Die verbleibenden sechs Werte 10102 bis 11112 die mit vier Bit darstellbar sind stellen keine gultigen BCD Zahlen dar und werden auch als Pseudotetraden bezeichnet 1 2 Zur Kodierung von Zahlen mit mehr als einer Dezimalziffer werden die BCD Darstellungen der einzelnen Ziffern hintereinander gesetzt z B wird die Zahl 2687 als 0010 0110 1000 0111 dargestellt Mit einem Byte 8 Bit konnen zwei Dezimalziffern dargestellt werden Werden die 4 Bits einer BCD Zahl jeweils in den niederwertigen Bits kodiert und die restlichen 4 Bits mit Nullen aufgefullt so spricht man von einer ungepackten BCD Zahl Werden beide Halften eines Bytes mit je einer BCD Zahl belegt so nennt man dies entsprechend eine gepackte BCD Zahl Die Zahl 10 ist die kleinste Zahl die binar 0000 1010 und BCD 0001 0000 unterschiedlich kodiert wird Da in hexadezimaler Darstellung vier Bit einer Ziffer entsprechen sind BCD kodierte Zahlen in hexadezimaler Schreibweise direkt visuell ablesbar Dies gilt auch fur mehrstellige Zahlen Die Darstellung von vorzeichenbehafteten Zahlen erfordert ein weiteres separates Bit wenn der kodierte Bereich fur negative und positive Zahlen gleich sein soll Mit 16 Bit sind dadurch nur noch 3 Stellen kodierbar 999 bis 999 weil fur die 4 Stelle keine 4 Bit mehr zur Verfugung stehen Kodierungen durch Pseudotetraden sind nur moglich wenn der Darstellungsbereich asymmetrisch ist z B 09 99 C bis 99 99 C oder wenn die hochstwertige Ziffer maximal den Wert 7 annehmen kann z B 199 9 C bis 199 9 C Anwendung BearbeitenBCD Arithmetik wird heutzutage nur noch selten angewendet da sie den Speicher verschwenderisch nutzt und gegenuber den 32 bit Gleitkommazahlen nur wenige Vorteile bzgl Genauigkeit liefert Allerdings wird im Finanzwesen und in der Wissenschaft immer noch eine Genauigkeit benotigt welche uber die Gleitkommadarstellung hinausgeht Daher verwendet man in diesen Bereichen u a das Densely Packed Decimal Encoding das auf einigen Grossrechnern auch direkt von der Hardware unterstutzt wird 3 aber uber Software Bibliotheken auch auf anderen Rechnern verfugbar ist bis hinunter zu modernen technisch wissenschaftlichen Taschenrechnern Ausserdem wird die BCD Codierung noch fur Uhren eingesetzt 4 BCD Arithmetik stammt aus Zeiten in denen man den Aufwand der Wandlung zwischen interner Reprasentation und externer Darstellung gering halten wollte Die fehlenden Rundungsfehler der Darstellung von Dezimalzahlen kann man durch Gleitkommazahlen mit Basis 10 Exponent oder durch Festkommazahlen mit Basis 10 Exponent genauso erreichen Die Verarbeitungsgeschwindigkeit dieser Darstellung ist fur heutige Prozessoren um 2 bis 2 1 2 Grossenordnungen hoher als die der BCD Darstellung Die Zahl wird dazu nicht in der Form M 2E sondern in der Form M 10E gespeichert M ist die ganzzahlige Mantisse und E ist der Exponent Beide werden binar abgespeichert fur kaufmannische Probleme ist E ohnehin meist fest und betragt 2 die meisten Rechnungen oder 4 Telefonrechnungen In Rechenwerken wird der BCD Code wenig eingesetzt weil Schaltungen die mit BCD Zahlen rechnen erheblich mehr Schaltglieder Gatter benotigen als Schaltungen die mit Dualzahlen arbeiten Der Code findet jedoch gelegentlich in Steuerungssystemen zum Beispiel zur Ansteuerung von LCD oder LED Zahlendisplays sowie dem Versenden von SMS Nachrichten im sogenannten PDU Format Anwendung Heutige Prozessoren haben entweder keinerlei Unterstutzung von BCD Arithmetik mehr oder diese ist auf dem Stand von 8 Bit Prozessoren stehengeblieben d h es werden 8 Bit Addition und 8 Bit Subtraktion unterstutzt und ist mittlerweile fast unvorstellbar langsam bis 71 Takte Latenz Es gab aber Prozessoren mit umfangreicher Unterstutzung von BCD Arithmetik z B der Sharp SC61860 im Sharp PC 1401 oder die HP Saturn Prozessorfamilie die in Taschenrechnern der HP 32 39 40 42 48 49 50 Serien bis ins Jahr 2015 Verwendung fand Der Prozessor der gesamten HP Serie 80 beinhaltete ebenfalls eine umfangreiche BCD Unterstutzung Samtliche arithmetische Berechnungen wurden in BCD durchgefuhrt Die Technologie des Prozessors bildete die Grundlage fur die Saturn Taschenrechner CPUs Auch Intel x86 Prozessoren besitzen im 16 Bit und 32 Bit Modus Befehle fur Berechnungen im BCD Format uber die mit Geschick auch viele andere sonst sperrig zu implementierende Bitmanipulationen durchgefuhrt werden konnen Im 64 Bit Modus unterstutzen Intel Prozessoren hingegen keinen einzigen Befehl zur BCD Arithmetik mehr Es gibt einen Befehl zur Wandlung von 80 Bit BCD in 80 Bit double extended FBLD mem80 Die eigentlichen Berechnungen werden immer im Binarsystem durchgefuhrt Des Weiteren wird der BCD Code benutzt um die Uhrzeit im DCF77 Signal zu kodieren Digitaluhren laufen im Innern im BCD Code Gegenuber Binarzahlern sind keine weiteren Gatter notwendig Die Umwandlung des Zahlerstandes mittels LC Display ist aber deutlich einfacher Einige AD Umsetzer liefern ihr Messergebnis direkt als BCD Zahl ab Die 3GPP Standards fur Mobilfunknetze sehen fur die Rufnummer Dialling Number SCC String einen BCD codierten Bereich von 10 Bytes vor 5 Die Pseudotetraden werden dabei teilweise mitverwendet 1010 1011 1100 A 1101 B 1110 C 1111 D Das D kodiert dabei nicht im Wahlalphabet sondern bezeichnet abhangig vom Kontext eine Endemarkierung oder ist ein Platzhalter fur mehrere Nummern Hierin unterscheidet sich der Mobilfunk von vorherigen Anwendungen mit Mehrfrequenzwahlverfahren an Nebenstellenanlagen wo es die Kurzwahl einleitete Im Rahmen von USSD Codes sind Sterne und Doppelkreuze in der Verwendung vorgegeben Andere BCD Codes BearbeitenNeben der oben beschriebenen 8 4 2 1 Codierung welche auch als Natural Binary Coded Decimal NBCD bezeichnet wird gibt es eine ganze Reihe weiterer Codierungen fur BCD Zahlen Beispielsweise sind noch der 1 aus 10 Code 2 aus 5 Code 5 4 2 1 Code sowie der 2 4 2 1 Code auch Aiken Code Exzess 3 Code sowie der Gray Code gebrauchlich Diese unterscheiden sich wie zum Teil in der Bezeichnung erkennbar ist in der Stellenwertigkeit der einzelnen Bits Der 1 aus 10 Code und der 2 aus 5 Code dienen in erster Linie zur Fehleranalyse Mit Hilfe der Chen Ho Kodierung oder der Densely Packed Decimal Kodierung lassen sich 3 Dezimalziffern durch 10 Bits anstelle von 12 Bits kodieren Dies bietet eine 20 bessere Effizienz weil es bei 1024 Moglichkeiten nur 24 ungenutzte Codeworte gibt Weblinks BearbeitenBCD Binar Codierte Dezimalzahlen Ein Java Applet zum Rechnen mit BCD Zahlen Umwandeln von BCD Codes in andere Zahlensysteme A Summary of Densely Packed Decimal encoding englisch Einzelnachweise Bearbeiten Hans Jochen Schneider Lexikon der Informatik und Datenverarbeitung 2 Auflage R Oldenbourg Verlag Munchen Wien 1986 ISBN 3 486 22662 2 K Steinbuch W Weber Taschenbuch der Informatik 3 Auflage Band 2 Springer Verlag Berlin 1974 ISBN 3 540 06241 6 Erstausgabe 1967 Decimal floating point support on the IBM System z10 processor BCD fur Uhren abgerufen am 23 April 2019 Universal Mobile Telecommunications System UMTS LTE Characteristics of the Universal Subscriber Identity Module USIM application 3GPP TS 31 102 version 9 18 1 Release 9 ETSI April 2017 abgerufen im 1 Januar 1 Abgerufen von https de wikipedia org w index php title BCD Code amp oldid 231266058