In der Com­pu­ter­tech­nik ist es all­ge­gen­wär­tig und manchem viel­leicht noch aus dem Ma­the­ma­tik­un­ter­richt bekannt: der Binärcode bzw. das Bi­när­sys­tem. Ein solcher Code stellt mit nur zwei Zuständen selbst komplexe Sach­ver­hal­te dar. Das ist für Menschen, die nur mit dem De­zi­mal­sys­tem und dessen zehn Ziffern vertraut sind, oft schwer nach­zu­voll­zie­hen. Dabei hat der binäre Code zum einen Vorteile und ist zum anderen auch aus tech­ni­scher Sicht notwendig.

Was ist Binärcode?

Die meisten Menschen rechnen im De­zi­mal­sys­tem: Pro Stelle stehen uns zehn Ziffern von 0 bis 9 zur Verfügung. Größere Zahlen stellen wir mit einer neuen Stelle dar. Das Bi­när­sys­tem funk­tio­niert analog dazu. Hier hat man al­ler­dings nur – wie die la­tei­ni­sche Vorsilbe „bi-“ bereits andeutet – zwei Ziffern (oder zwei Zustände) zur Verfügung: 0 und 1, an und aus, hell und dunkel, wahr und falsch. Auch hier werden größere Zahlen mit mehreren Stellen dar­ge­stellt.

De­fi­ni­ti­on

Ein Binärcode stellt In­for­ma­tio­nen nur durch die Ver­wen­dung von zwei ver­schie­de­nen Zuständen dar.

Man kennt das Bi­när­sys­tem vor allem im Kontext von Computern. In deren Inneren läuft alles mit Einsen und Nullen ab. So werden Daten ge­spei­chert und Be­rech­nun­gen durch­ge­führt. Doch diese Re­chen­wei­se und In­for­ma­ti­ons­dar­stel­lung werden auch in anderen Si­tua­tio­nen genutzt. Jedes Mal, wenn wir In­for­ma­tio­nen durch einen von zwei Zuständen erfahren, handelt es sich ganz grund­sätz­lich ge­spro­chen um einen Binärcode. Ein Lämpchen an einem elek­tro­ni­schen Gerät verrät uns, ob das Gerät gerade läuft oder nicht, indem es aus (Zustand 1) oder an (Zustand 2) ist.

Durch die An­ein­an­der­rei­hung solcher An/Aus-Zustände lassen sich aber auch sehr viel kom­ple­xe­re In­for­ma­tio­nen wei­ter­ge­ben. Die Braille­schrift bei­spiels­wei­se, ein Schrift­sys­tem für Blinde, basiert auf Binärcode: Jedes Schrift­zei­chen wird durch ein Raster aus 6 Punkten dar­ge­stellt. Durch die Kom­bi­na­ti­on von Er­hö­hun­gen (1/an) und flachen Feldern (0/aus) lassen sich un­ter­schied­li­che Zeichen dar­stel­len.

Ge­schich­te des Bi­när­sys­tems: Von Leibniz zu Com­pu­ter­sys­te­men

Zwar hat man auch schon in der Antike binäre Codes zur In­for­ma­ti­ons­ver­ga­be verwendet, das Bi­när­sys­tem, wie wir es heute kennen, wurde aber Ende des 17. Jahr­hun­derts von Gottfried Wilhelm Leibniz erdacht. Der Philosoph und Ma­the­ma­ti­ker (und de facto Uni­ver­sal­ge­lehr­te) suchte nach einer Methode, die sprach­li­chen Begriffe der Logik (wahr und falsch) in ein ma­the­ma­ti­sches System um­zu­set­zen, und setzte dabei auf die noch heute ver­wen­de­ten Einsen und Nullen.

Schon ein paar Jahr­zehn­te zuvor hatte sich Francis Bacon (ein eng­li­scher Philosoph) Gedanken darüber gemacht, wie man Text mithilfe eines Bi­när­codes dar­stel­len könnte. Ein dritter Gelehrter, George Boole, baute schließ­lich etwa an­dert­halb Jahr­hun­der­te nach Leibniz auf Basis des Bi­när­sys­tems die Boolesche Algebra auf: ein System mit logischen Ope­ra­to­ren, das auch heute noch einen hohen Stel­len­wert in der In­for­ma­tik hat.

Fakt

Un­ab­hän­gig von diesen eu­ro­päi­schen Er­run­gen­schaf­ten auf dem Gebiet der binären Re­chen­wei­se haben sich auch in anderen Gegenden der Welt ent­spre­chen­de Systeme ent­wi­ckelt, und das teilweise schon sehr viel früher: Zeichen im Yijing (oder I Ging) – einem chi­ne­si­schen Text aus dem 3. Jahr­tau­send vor Christus – basieren auf einem Binärcode und beziehen sich dabei wiederum auf die Dualität von Ying und Yang.

Im 20. Jahr­hun­dert schließ­lich ent­wi­ckel­te sich die Di­gi­tal­tech­nik – erste elek­tro­ni­sche Re­chen­ma­schi­nen wurden her­ge­stellt. Es war Aufgabe der Com­pu­ter­pio­nie­re, Zahlen und Buch­sta­ben in ein für Computer ver­ständ­li­ches System zu über­set­zen. Der Binärcode ist hierfür gerade deshalb prä­de­sti­niert, da man die Abs­trak­ti­on von 1 und 0 in physische Zustände über­set­zen kann. In der Elek­tro­tech­nik: Liegt eine Spannung an, gilt 1; ist keine Spannung da, wird 0 an­ge­nom­men.

Auch Loch­kar­ten arbeiten mit einem Bi­när­sys­tem, um In­for­ma­tio­nen zu ver­mit­teln: Auf einer solchen Karte lässt sich eine bestimmte Menge von Zeichen durch ein vor­han­de­nes oder eben fehlendes Loch dar­stel­len. So können In­for­ma­tio­nen dauerhaft und dennoch ma­schi­nen­les­bar ge­spei­chert werden. Loch­kar­ten waren auch schon vor der Erfindung von Computern in Gebrauch, bei­spiels­wei­se bei Web­stüh­len oder me­cha­ni­schen Mu­sik­au­to­ma­ten.

Binärer Code und Bi­när­sys­tem scheinen auf den ersten Blick synonym zu sein. Doch macht man sich die Ei­gen­schaf­ten eines Codes bewusst, fällt der Un­ter­schied auf: Ein Code ist eine re­gle­men­tier­te Über­set­zung von Zeichen. Jedem Zeichen im Original wird ein anderes Zeichen oder eine Zei­chen­fol­ge zu­ge­ord­net. So ist es möglich, hin und her zu kon­ver­tie­ren. Ein System hingegen besteht in sich selbst und braucht keinen Vergleich zu einem weiteren System. Rechnet man bei­spiels­wei­se im binären System, braucht man keinen Bezug zum De­zi­mal­sys­tem zu nehmen, um Er­geb­nis­se zu erhalten.

Beides kommt im EDV-Kontext vor: Kodierung finden wir z. B. beim ASCII-Code. Mit sieben Stellen und zwei Zuständen (1 und 0) lassen sich alle Buch­sta­ben des la­tei­ni­schen Alphabets sowie weitere Zeichen dar­stel­len. Da damit aber bei weitem noch nicht alle Schrift­zei­chen der Welt ab­ge­bil­det sind, hat man mit UTF-8 sogar ein bis vier Bytes zur Verfügung.

Binäre Codierung verstehen: Wie rechnet ein Computer?

Com­pu­ter­sys­te­me kennen die Einheiten Bits und Bytes. Ein Bit ist eine Stelle im Code, die entweder 1 oder 0 sein kann. Daher auch die Be­zeich­nung: ein Kof­fer­wort aus binary digit, „binäre Ziffer“ oder „binäre Stelle“. Ein Byte wiederum sind 8 dieser Bits. Computer sind prin­zi­pi­ell Re­chen­ma­schi­nen, die, ähnlich wie ein Ta­schen­rech­ner, mit diesen Einheiten arbeiten. Möchten wir eine Be­rech­nung durch­füh­ren, werden De­zi­mal­zah­len in das Bi­när­sys­tem umgesetzt.

Denken wir nun in Bytes, lässt sich die De­zi­mal­zahl 5 so dar­stel­len: 00000101. Die führenden Nullen am Anfang der Binärzahl be­ein­flus­sen den Wert nicht und sorgen nur dafür, dass man ein festes Format mit acht Stellen beibehält.

Fakt

Im ASCII-Code ent­spricht die Dar­stel­lung der Ziffer 9 0111001, 0 wird ent­spre­chend als 0110000 erfasst. Dies hat mit der Position der Ziffern in der Code-Tabelle zu tun.

Genau wie im De­zi­mal­sys­tem ent­spricht jede Stelle einer Potenz. Während man al­ler­dings im uns ge­läu­fi­gen System auf der Basis von 10 rechnet, ist im Bi­när­sys­tem die Basis 2. Die erste Stelle ent­spricht damit 20, die zweite 21, die dritte 22 usw. Ein Byte, das der De­zi­mal­zahl 23 ent­spricht, lässt sich also fol­gen­der­ma­ßen lesen:

So haben wir (dezimal): 24 + 22 + 21 + 20 = 16 + 4 + 2 + 1 = 23

Auch Be­rech­nun­gen im Bi­när­sys­tem laufen, wie wir es aus dem De­zi­mal­sys­tem kennen: 1100 + 1010 = 10110. Was passiert bei der Be­rech­nung? Der Ein­fach­heit halber kann man die Addition wie beim schrift­li­chen Rechnen un­ter­ein­an­der aufbauen. Man rechnet von rechts nach links.

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 0 mit Übertrag 1
Fazit

Für Computer sind solche Be­rech­nun­gen selbst­ver­ständ­lich und werden jeden Au­gen­blick durch­ge­führt. Egal ob PC, Smart­phone, Tablet oder Ta­schen­rech­ner – ohne Binärcode wären unsere all­täg­li­chen digitalen Werkzeuge nicht denkbar.

Zum Hauptmenü