Navigation:  SPS > Liste der Operationen > BCD-Operationen >

BCD-Zahl

Vorherige SeiteKapitelübersichtNächste Seite

 

In den frühen Zeiten der Computertechnik, als das HMI (human machine interface) noch aus Lämpchen und Handradschaltern bestand, bemerkte man, dass Menschen die Binärzahlen der Maschinen nur schlecht lesen können und dass es umgekehrt schwierig ist, mehrstelligen Handradschaltern ein binäres Signal zu entlocken. Daher erfand man die binär codierte dezimale Zahl, eine Chimäre aus beiden Darstellungen. Man nimmt einfach jede einzelne Ziffer einer im Dezimalsystem dargestellten Zahl und übersetzt sie in ein Nibble (Halbbyte) in binärer Darstellung. Etwa so:

 

          159       ->        0001    0101    1001

                                      1          5          9

 

Mit etwas Übung können Menschen durchaus die Binärdarstellung der Zahlen von 0 bis 9 lernen und auch Handradschalter können mit viel Aufwand so konstruiert werden, dass sie diesen kleinen Zahlenbereich binär codieren. Leider ist dieses unsägliche Datenformat, mit dem es sich schlecht rechnen lässt, bis auf den heutigen Tag am Leben gehalten worden. Der einzige Trost ist, dass die Speicherplatzverschwendung, die damit verbunden ist, inzwischen keine Rolle mehr spielt.

 

Die einfachste Art, eine BCD - Konstante im Bereich von 0 - 999 zu notieren, besteht in der Verwendung des Counter-Formats C#xyz, z.B. C#642.

 

Eine BCD-Zahl wird als negativ interpretiert, wenn alle vier Bits des höchstwertigen Nibbles gleich 1 sind. So notiert man z.B. -53(bcd) als W#16#F053.

 

Siebenstellige BCD-Zahlen können unter Verwendung des DW#16#- Formates notiert werden.

 

Zur Umwandlung zwischen BCD- und dual-Format gibt es folgende Funktionen:

BTI

3 stellige BCD - Zahl mit Vorzeichen -> Integer

BTD

7 stellige BCD - Zahl mit Vorzeichen -> Double Integer

ITB

dualcodierte Zahl von -999 bis +999 -> BCD

DTB

dualcodierte Zahl von -9.999.999 bis +9.999.999 -> BCD