Zahlensysteme der Informatik 1: Binärsystem

Erst durch das Wissen verschiedener Zahlensysteme kann man verstehen wie ein Computer intern rechnet oder wie bei den verschiedenen Programmiersprachen die Datentypen aufgebaut sind und warum beim Rechnen mit Fließkommazahlen Fehler entstehen.
In dieser Artikelserie werde ich versuchen dieses Wissen zu vermitteln und hoffentlich auch einige Leser für die Informatik begeistern.

Das binäre Zahlensystem ist das wichtigste Zahlensystem in der Informatik. Dieses Zahlensystem verwendet als Basis die Zahl 2. Demnach besteht eine binäre Zahl nur aus zwei verschiedenen Zahlen, die zwei Zustände repräsentieren. Um diese Zustände zu repräsentieren verwendet man meistens Zahlen 1 und 0.

Wie wandelt man eine dezimale Zahl in eine binäre um?

Bevor man diese Frage beantwortet, muss man sich zuerst klar machen, wie das uns vertraute Dezimalsystem funktioniert.

Liest man eine dezimale Zahl von rechts nach links, so repräsentieren die Zahlpositionen die Einser, Zehner, Hunderter und schließlich die Tausender.
Man kann beispielsweise die Zahl 8371 auch als 8·1000 + 3·100 + 7·10 + 1·1 = 8371 schreiben.

Wie man erkennt, sind die Faktoren 1000, 100, 10, 1 alles Potenzen der Basis 10.
8·103 + 3·102 + 7·101 + 1·100 = 8371

Das Schema ist somit klar. Multipliziere jeden einzelnen Zahlenfaktor mit der Zahl 10Zahlenposition von rechts und addiere alle diese Terme auf.

Das binäre Zahlensystem funktioniert analog, man ersetzt nur die Basis 10 durch 2.

Binäre Zahl in eine dezimale umwandeln

Beispiel: 11101

1·24 + 1·23 + 1·22 + 0·21 + 1·20 = 16 + 8 + 4 + 0 + 1 = 29

Beispiel : 0101

0·23 + 1·22 + 0·21 + 1·20 = 0 + 4 + 0 + 1 = 5

Man sollte bei der Berechnung nicht vergessen, dass der Exponent bei 0 und nicht 1 beginnt. Man kann es sich aber immer an dem Dezimalsystem klar machen.

Dezimale Zahl in eine binäre umwandeln (Methode 1)

Dazu gibt es zwei verbreitete Methoden. Die erste setzt voraus, dass man die Potenzen zur Basis 2 kennt. Hier ist eine Tabelle für die ersten 20 Exponenten.

Exponent Potenz Exponent Potenz Exponent Potenz Exponent Potenz
Potenzen zur Basis 2
0 1 5 32 10 1024 15 32768
1 2 6 64 11 2048 16 65536
2 4 7 128 12 4096 17 131072
3 8 8 256 13 8192 18 262144
4 16 9 512 14 16384 19 524288

Zum Beispiel hat man die Zahl 239 gegeben und möchte sie in binärer Form darstellen.

Man schaut welche größte Zweierpotenz in diese Zahl hineinpasst. In diesem Fall ist es die Zahl 128. Demnach besteht die binäre Zahl aus 8 Stellen und hat folgende Form.

1·27 + x6·26 + x5·25 + x4·24 + x3·23 + x2·22 + x1·21 + x0·21

Die Zahlen x6-x0 werden im Folgenden bestimmt.

Man bildet eine Differenz zwischen dem dezimalen Zahlenwert und allen Potenzen die bereits mit einer 1 markiert sind und schaut ob die nächste Potenz in diese Differenz hineinpassest.

In unserem Fall ist es 239 – 128(=27) = 111.

Die nächste kleinere Potenz(64) passt auch rein, also ist x6=1.

111-64 = 47 also passt 32 rein. Es folgt x5=1.

47-32 = 15 Die 16 passt nicht rein, also x4=0. Dafür passt aber 8 rein, deswegen ist x3=1.

15-8 = 7 Die 4 passt rein, also x2=1.
7-4 = 3 Die 2 passt rein, also x1=1.
3-2=1 Die 1 passt rein, also x0=1.

Damit ist die Zahl komplett: 11101111

Ein weiteres Beispiel mit der Zahl 70

64 ist die erste Potenz => 1
70-64 = 6
32 passt nicht rein => 0
16 passt nicht rein => 0
8 passt nicht rein => 0
4 passt rein => 1
6-4 = 2
2 passt rein => 1
2-2 = 0
1 passt nicht rein => 0
Die Zahl lautet: 1000110

Kennt man die ersten Zweipotenzen auswendig, so lässt sich die Methode ziemlich schnell im Kopf durchführen.

Dezimale Zahl in eine binäre umwandeln (Methode 2)

Jetzt schauen wir uns die zweite Methode mit dem gleichen Beispielen an.

Man teilt die dezimale Zahl durch 2 und schreibt das ganzzahlige Ergebnis mit dem Rest hin. Danach wiederholt man die obere Operation mit dem ganzzahligen Ergebnis so lange, bis das Ergebnis Null ist. Der Rest der einzelnen Operationen stellt die einzelnen Stellen der binären Zahl dar.

70 / 2 = 35 Rest 0
35 / 2 = 17 Rest 1
17 / 2 = 8 Rest 1
8 / 2 = 4 Rest 0
4 / 2 = 2 Rest 0
2 / 2 = 1 Rest 0
1 / 2 = 0 Rest 1

Der Rest von unten nach oben gelesen ergibt 1000110, was mit der binären Zahl aus der ersten Methode übereinstimmt.

Wertebereich

Wie viele verschiedene Zahlen können durch eine binäre Zahl der Länge N dargestellt werden?
Im dezimalen System ist die Sache ganz klar: N=3 bedeutet 999. Wir zählen zwar bis 999, aber es gibt 1000 Zustände, denn die Null ist auch ein Zustand der mitgezählt werden muss. Mathematisch betrachtet sind es insgesamt 10³ oder allgemein 10^N Zustände, also BasisN. Der beschriebene Zahlenbereich lautet also [0, 10N-1].

Beim binären Zahlensystem geht die Betrachtung ganz analog.
Der Zahlenbereich lautet [0, 2N-1].
Man kann also mit einer binären Zahl der Länge N deutlich weniger Informationen speichern als mit einer dezimalen Zahl. Dies führt dazu, dass die Darstellung großer binärer Zahlen sehr unhandlich wird. Aus diesem Grund wurde das Hexadezimalsystem eingeführt.
Aber dazu später mehr =)


3 Kommentare zu “Zahlensysteme der Informatik 1: Binärsystem”

  1. Andreas Wallnöferam 22. October 2010 um 14:12 Uhr

    Der Informatiker teilt leute in genau 10 Kategorien ein – die einen die das Binärsystem verstehen und die anderen die es nicht verstehen;-)

  2. Walteram 1. November 2010 um 12:32 Uhr

    Ich sage danke für diesen Artikel. Mit Zahlen hab ich’s zwar nicht so wirklich aber momentan brauch ich das halt einfach ;)

  3. Thu Truc Tranam 17. February 2017 um 20:09 Uhr

    Ihr habt da einen kleinen Fehler in eurer Tabelle.
    2^14 ist nicht 16386 sondern 16384. :)

Trackback URI | Kommentare als RSS

Einen Kommentar schreiben

XHTML: Du kannst folgende Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <sub> <sup>

Hinweis: Ich behalte mir das Recht vor solche Kommentare, die Beleidigungen oder rechtswidrige Inhalte beinhalten erst nach einer Editierung freizugeben oder kommentarlos zu löschen. Ähnliches gilt auch für Kommentare die offensichtlich nur der Suchmaschinenoptimierung dienen.