Wenn man verstehen will, wie ein Computer mit Daten umgeht, muss man das Binärsystem verstehen. Aber keine Sorge - es funktioniert eigentlich ganz ähnlich wie das Dezimalsystem, das man aus der Grundschule kennt: Beides sind radixbasierte Zahlensysteme.
Tipp: Am Ende dieses Artikels sind Übungen, um das Gelernte zu verinnerlichen.
Im Binärsystem zählen
Im Binärsystem gibt es zwei Symbole: Die 0 und die 1. Diese haben den gleichen Wert wie im Dezimalsystem.
Wenn man im Dezimalsystem zählt, erhöht man die letzte Stelle immer um 1. Wenn es nicht mehr weiter geht, weil man bei der höchsten Ziffer angekommen ist, setzt man sie auf 0 und erhöht die Ziffer davor. Wenn diese Ziffer die größtmögliche Ziffer ist - wie bei 99 - wird auch sie auf 0 gesetzt und die Ziffer davor erhöht. Und so weiter.
Im Binärsystem macht man es genauso: Nach 0 kommt 1, danach wird die 1 auf 0 gesetzt und die Stelle davor erhöht.
dezimal |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
usw. |
---|---|---|---|---|---|---|---|---|---|---|---|---|
binär |
0 |
1 |
10 |
11 |
100 |
101 |
110 |
111 |
1000 |
1001 |
1010 |
usw. |
So wie im Dezimalsystem die 10er-Potenzen (1, 10, 100, 1000, …) runde Zahlen sind, so sind im Binärsystem die 2er-Potenzen (1, 2, 4, 8, 16, 32, …) rund.
Im Binärsystem rechnen
Ein Computer muss Binärzahlen ständig addieren, subtrahieren, usw. Im Grunde funktioniert das genauso wie im Dezimalsystem:
Addition
1 0 1 1 0 1
+ 1 0 1 1
-------------
Man zählt einfach von rechts nach links die Ziffern, die in einer Spalte stehen, zusammen. 1+1 ergibt 0 mit einem Übertrag von 1:
1 0 1 0 0 1
+ 1 0 1 1
----------------------
Übertrag 1 1 1
----------------------
Ergebnis 1 1 0 1 0 0
Subtraktion
Die Subtraktion ist genauso einfach. Hier gilt: 0–1 ergibt 1 mit Übertrag 1.
1 0 1 0 0 1
- 1 0 1 1
----------------------
Übertrag 1 1 1 1
----------------------
Ergebnis 1 1 1 1 0
Zahlensysteme umrechnen
Für das Umrechnen sollte man sich immer diese Tabelle aufschreiben:
$${n}$$ |
$$2^{n}$$ |
---|---|
0 |
1 |
1 |
2 |
2 |
4 |
3 |
8 |
4 |
16 |
5 |
32 |
6 |
64 |
7 |
128 |
Umrechnung: Binär in Dezimal
Angenommen, man will die binäre Zahl 10101101 in eine Dezimalzahl umwandeln. In der rechten Spalte der Tabelle steht der dezimale Wert der n-ten binären Stelle. Also nummeriert man die Stellen durch (ganz rechts ist die 0. Stelle!).
0 | 1
1 | 0
2 | 1
3 | 1
4 | 0
5 | 1
6 | 0
7 | 1
Nun addiert man die dezimalen Werte von allen Stellen, an denen eine 1 steht:
0 | 1 × 1
1 | 0 × 2
2 | 1 × 4
3 | 1 × 8
4 | 0 × 16
5 | 1 × 32
6 | 0 × 64
7 | 1 × 128
+
---------
173
Das Ergebnis ist also 1 + 4 + 8 + 32 + 128 = 173.
Umrechnung: Dezimal in Binär
Andersherum hilft einem ebenfalls die Tabelle. Angenommen, man will wissen, was 90 als Binärzahl ist.
Stellen: 7 6 5 4 3 2 1 0
---------------
Ergebnis: ? ? ? ? ? ? ? ?
Am einfachsten ist es, die Zahl in lauter Zweierpotenzen zu zuerlegen. Dazu schaut man, was die nächstkleinere Zahl von 90 in der Tabelle ist, das ist 64. 64 = 26, also setzt man eine 1 an Position 6 und subtrahiert 64 von 90. Es bleibt 26 übrig. Die nächstkleinere Zweierpotenz von 26 ist 16. 16 ist 24, also setzt man eine 1 an Position 4 und zieht 16 ab. Es bleit 10 übrig. Und so weiter.
Am Ende steht eine 1 an den Positionen 6, 4, 3 und 1. Alles andere sind Nullen:
Stellen: 7 6 5 4 3 2 1 0
---------------
Ergebnis: 1 0 1 1 0 1 0
Exkurs: Das Hexadezimalsystem
Dieser Abschnitt ist für besonders Interessierte gedacht. Er ist nicht nötig, um das Binärsystem zu verstehen.
Binärzahlen können recht lang werden. Das Hexadezimalsystem bietet eine kompaktere Darstellung, und lässt sich ganz besonders leicht vom und ins Binärsystem umrechnen.
Das Binärsystem ist zur Basis 2. Das Dezimalsystem ist zur Basis 10. Das Hexadezimalsystem ist zur Basis 16 – das heißt, hexadezimale Zahlen haben 16 verschiedene Ziffern: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Das praktische daran ist, dass 16 eine Zweierpotenz ist. Dadurch entspricht eine hexadezimale Ziffer immer genau 4 binären Ziffern:
binär |
hexadezimal |
dezimal |
---|---|---|
0 |
0 |
0 |
1 |
1 |
1 |
10 |
2 |
2 |
11 |
3 |
3 |
100 |
4 |
4 |
101 |
5 |
5 |
110 |
6 |
6 |
111 |
7 |
7 |
1000 |
8 |
8 |
1001 |
9 |
9 |
1010 |
A |
10 |
1011 |
B |
11 |
1100 |
C |
12 |
1101 |
D |
13 |
1110 |
E |
14 |
1111 |
F |
15 |
Um eine hexadezimale Zahl in binär umzuwandeln, reicht es, jede Ziffer einzeln umzuwandeln. Um z.B. hexadezimal FA6A umzuwandeln, schauen wir nach, was F, A und 6 in binär ist, und hängen es aneinander:
F => 1111
A => 1010
6 => 110
FA6A => 1111 1010 0110 1010
Wenn eine Ziffer weniger als 4 binäre Ziffern hat, wird mit führenden Nullen auf 4 Ziffern aufgefüllt.
Umgekehrt funktioniert das genauso. Beispiel für binär 1 0010 1001 0110 1111:
1 => 1
10 => 2
1001 => 9
110 => 6
1111 => F
1 0010 1001 0110 1111 => 1296F
Übungen
Hiermit kannst du selbstständig ein paar Rechnungen üben und danach das Ergebnis kontrollieren:
Addition
Lösungsweg:
1 0 1 1 0 1 0
+ 1 0 1 1 0
-------------
1 1 1 1
---------------
1 1 1 0 0 0 0
Ergebnis: 1110000
Lösungsweg:
1 0 1 1 0 1
+ 1 0 1 1 0
-------------
1 1 1 1
---------------
1 0 0 0 0 1 1
Ergebnis: 1000011
Lösungsweg:
1 1 1 1 1 0
+ 1 0 0 0 1
-------------
1 1
---------------
1 0 0 1 1 1 1
Ergebnis: 1001111
Lösungsweg:
1 1 1 1 1 1
+ 1 0 0 0 1
-------------
1 1 1 1 1 1
---------------
1 0 1 0 0 0 0
Ergebnis: 1010000
Subtraktion
Lösungsweg:
1 0 1 1 0 1 0
- 1 0 1 1 0
-------------
1
---------------
1 0 0 0 1 0 0
Ergebnis: 1000100
Lösungsweg:
1 0 1 1 0 1
- 1 0 1 1 0
-----------
1 1 1
---------------
1 0 1 1 1
Ergebnis: 10111
Lösungsweg:
1 1 1 1 1 0
- 1 0 0 0 1
-----------
1
-------------
1 0 1 1 0 1
Ergebnis: 101101
Lösungsweg:
1 1 1 1 1 1
- 1 0 0 0 1
-----------
---------------
1 0 1 1 1 0
Ergebnis: 101110
Binär in Dezimal umrechnen
Ergebnis: 16 + 8 + 4 + 2 + 1 = 31
Ergebnis: 16 + 4 + 1 = 21
Ergebnis: 32 + 8 + 2 = 42
Ergebnis: 64 + 32 + 16 + 8 + 2 = 122
Ergebnis: 64 + 32 + 2 + 1 = 99
Dezimal in Binär umrechnen
Lösungsweg:
50 = 32 + 16 + 2 = 25 + 24 + 21.
Es steht also eine 1 an den Positionen 5, 4 und 1.
Ergebnis: 110010
Lösungsweg:
60 = 32 + 16 + 8 + 4 = 25 + 24 + 23 + 22.
Es steht also eine 1 an den Positionen 5, 4, 3 und 2.
Ergebnis: 111100
Lösungsweg:
70 = 64 + 4 + 2 = 26 + 22 + 21.
Es steht also eine 1 an den Positionen 6, 2 und 1.
Ergebnis: 1000110
Lösungsweg:
100 = 64 + 32 + 4 = 26 + 25 + 22.
Es steht also eine 1 an den Positionen 6, 5 und 2.
Ergebnis: 1100100
Lösungsweg:
200 = 128 + 64 + 8 = 27 + 26 + 23.
Es steht also eine 1 an den Positionen 7, 6 und 3.
Ergebnis: 11001000