Sein oder Nichtsein - Der Binärcode

Grundlage eines jeden Binärcodes ist ein sogenanntes Binäres System, d.h. ein System, in dem nur ausschließlich zwei gegensätzliche Zustände herrschen, zum Beispiel An/Aus , Wahr/Falsch, 0/5 Volt im Stromkreislauf oder - eben beim Binärcode - 1 oder 0. Einen solchen Dualismus kennt man auch aus der Pascalprogrammierung durch den Umgang mit dem Datentyp BOOLEAN (nach Georg Boole, 1815-1864, engl. Logiker und Mathematiker).

Der Binärcode ist also ein Code, welcher mit nur zwei Zeichen arbeitet: der binären Null und der binären Eins. Die Basiseinheit des Binärcodes bildet das Bit, eine Speicherstelle, welche nur den Wert 0 oder 1 annehmen kann. Heute faßt man 8 solcher Bits zur Einheit Byte zusammen, mit der sich dann 256 Zeichen darstellen lassen.

Im Dualsystem werden Zahlen ähnlich wie im Dezimalsystem durch Potenzen dargestellt, allerdings nicht zur Basis 10, sondern zur Basis 2.

  Dezimalsystem Dualsystem
Darstellung 102 101 100 28 27 26 25 24 23 22 21 20
Zahl 2 6 7 1 0 0 0 0 1 0 1 1

Nun multipliziert man die Ziffern mit der systemspezifischen Basis hoch Stelle und addiert den Wert zum Ergebnis der vorherigen Rechnung.

Dezimalsystem:

(2*102 )+ (6*101)+(7*100)=2*100+6*10+7*1=267

Dualsystem:

(1*28)+(0*27)+(0*26)+(0*25)+(0*24)+(1*23)+(0*22)+(1*21)+(1*20)=256+8+2+1=267

Die Addition erfolgt im Dualsystem stellenweise mit Übertrag, die Multiplikation ist sogar noch einfacher:

               10001001                                  110*101
           +    1000101                         ----------------
         --------------                                    110
               11001110                                       0
                                                             110
                                                ----------------
                                                           11110

Im Prinzip ist natürlich auch die Subtraktion auf ähnliche Weise wie die Addition möglich, allerdings ist es in Rechenwerken üblich, Addierwerke auch zum Subtrahieren zu verwenden. Dabei benötigt man eine geeignete Darstellung für negative Zahlen : a+(-a) =0, d.h. die Subtraktion einer Zahl ist gleich der Addition des inversen Elements dieser Zahl. Um dieses Element zu erhalten, bildet man das Zweierkomplement der Zahl: Dazu wird die Zahl zunächst durch bitweises Negieren in ihr Einerkomplement verwandelt, dann wird 1 addiert und man erhält das Zweierkomplement, z.B.:

a=1101 => Einerkomplement = 0010 => Zweierkomplement -a= 0011

Desweiteren gilt also:

a+ (-a) = 2n , wobei n die Stellenanzahl von a ist. a+(-a) ist also eine Zahl mit einer führenden 1 und n Nullen. Da die Stellenzahl in Rechenwerken beschränkt ist, in diesem Fall also auf n Stellen, fällt die führende 1 weg , -a ist somit das inverse Element, a+(-a) ist jetzt tatsächlich null.