Materialien zum Unterricht

Binäre, Mickymäuse, Menschen und Außerirdische

Hat sich schon mal jemand Gedanken gemacht, warum wir eine Zahlensystem haben, das auf der Zahl 10 beruht?

Dezimal und oktal

Ganz einfach, wir haben 10 Finger. Andere sind nicht so ausgestattet. Die Micky Mouse und alle anderen Comicfiguren bekommen von ihren Zeichnern immer nur vier Finger pro Hand, haben also 8 Finger. Wie zählt man eigentlich mit 8 Fingern?

Unser Zahlensystem ist ein Positionszahlensystem. Wenn wir nur mit einer Stelle arbeiten, also alleine zählen, kommen wir von 0 bis 9. Dann sind die Finger alle.

0, 1, 2, 3, 4, 5, 6, 7, 8, 9


Für weiteres Zählen brauchen wir eine zweite Person mit nochmals 10 Fingern. Und da gibt es nun zwei Mögichkeiten: die nicht so kluge und die kluge.

In der klugen Version ist ein Finger der zweiten Person soviel Wert wie 10 Finger von uns!

Der Wert einer Ziffer hängt also davon ab, an welcher Position in der Zahl sie steht. Je weiter links, um so wertvoller.

Beispiel: Die Zahl 371.

371 heißt nicht anderes als:

300 + 70 + 1

oder

Nun zurück zur Micky Mouse. Sie hat nur 8 Finger und kann deshalb alleine nur bis zur 7 zählen:

0, 1, 2, 3, 4, 5, 6, 7

Eine 8 und eine 9 gibt es in dieser Welt nicht, weil dafür zu wenig Finger da sind.

Wie zählen nun die Mäuse? Nehmen wir an, auf dem Tisch liegen eine bestimmte Anzahl Äpfel.

Bis zum 7. Apfel wird in beiden Zahlensystem gleich gezählt. Aber beim nächsten Apfel trennen sich die Wege: der Mensch kann mit seinen Fingern locker weiterzählen, die Mickky Mouse jedoch ist am Ende angekommen. Sie braucht jetzt einen Partner mit weiteren Fingern und zählt logisch weiter: 10, 11, ...

Die Anzahl der Äpfel auf dem Tisch ist für beide gleich. Beim Zählen erhält der Mensch aber 12 Äpfel und die Micky Mouse 14 Äpfel.

Der Mensch zählt im Dezimalsystem und die Micky Mouse im Oktalsystem. (Oktal = 8)

Man kann schreiben:

12 dezimal = 14 oktal

Binär

Nun kommt ein weiteres Wesen des Weges, das nur einen einzigen Finger hat. Wir fragen nicht, warum und wie es damit klar kommt, es geht irgendwie. Das Wesen gehört zur Gattung der Binären.

Wie zählen die Binären?

Für sie gibt es nur zwei Ziffern:

0, 1

Feierabend.

Der Binäre möchte auch die Äpfel zählen.

Er kann mit seinem einen Finger nur einen Apfel zählen. Dann braucht er schon Hilfe. Zu zweit kommen sie bis zum 3. Apfel, müssen dann aber weitere Hilfe anfordern.

Nur zu viert schaffen sie es, alle Äpfel abzuzählen und erhalten für den letzten den Wert 1100. (Spricht: Eins, Eins, Null, Null)

Man kann schreiben:

12 dezimal = 14 oktal = 1100 binär

Computer

Was hat das nun alles mit unserem Controller zu tun? Der Controller und alle Computer kommen aus der Welt der Binären. Sie haben nur einen Finger, oder besser gesagt, Schalter zum Zählen.

Ein Schalter kann nur zwei Zustände einnehmen: Aus oder Ein. Für den Zustand Aus sagen wir Null und für den Zustand Ein Eins.

In der Computersprache wird eine Information, die eine Null oder eine Eins darstellen kann, als Bit bezeichnet.

Damit ist klar: unser Mikrocontroller hat 4 Ports und jeder Port ist 8 Bit breit.

Warum gerade 8 Bit? Wären nicht 10 Bit sinnvoller? Das entspricht dann wieder unserem Dezimalsystem.

Um diese Frage zu beantworten, muss ein weiterer Begriff geklärt werden, das Byte.

Wieviel Bits sind notwendig, um eine Ziffer zwischen 0 und 9 darzustellen? Dazu schauen wir uns noch mal das Apfelzählbild an:

Mit einem Bit kann man bis 1 zählen, mit 2 Bits schon bis 3. Nimmt man ein weiters Bit dazu, kommt man bis 7. Die Comicfiguren können sich bequem zurücklehnen. Sie brauchen 3 Bits , um ihr Zahlensystem darzustellen.
Wir aber haben 10 Finger und brauchen ein weiters Bit. Für das Dezimalzystem sind also 4 Bit notwendig.

Die Zuordnung sieht so aus:

Bit 3 Bit 2 Bit 1 Bit 0 Dezimalziffer
0
0
0
0
0
0
0
0
1
1
0
0
1
0
2
0
0
1
1
3
0
1
0
0
4
0
1
0
1
5
0
1
1
0
6
0
1
1
1
7
1
0
0
0
8
1
0
0
1
9

Natürlich fällt sofort die Verschwendung auf; mit 4 Bit lassen sich noch viel mehr Kombinationen darstellen, die Möglichkeiten sind noch lange nicht ausgeschöpft. Wie viele Zeilen könnte unsere Tabelle haben?

Mit einem Bit kann man 2 Ziffern darstellen, die 0 und die 1. Mit 2 Bit lassen sich 2 Ziffern erzeugen, 0, 1, 2 und 3. Mit einem weiteren Bitkommt man auf 8 Ziffern.

Sicher merkt jetzt schon jeder, was los ist. Jedes weitere Bit verdoppelt die Anzahl der Möglichkeiten. Man kann die vorhandenen Kombinationen mit einer 0 im neuen Bit und mit einer 1 im neuen Bit darstellen, die vorhandenen Zeilen also zweimal schreiben.

Damit sind mit 4 Bit insgesamt 16 Ziffern möglich. Da die Ziffern nach der 9 keine Bezeichnungen haben, hat man sich für große Buchstaben entschieden. Die vollständige Tabelle sieht nun so aus:

Bit 3 Bit 2 Bit 1 Bit 0 Ziffer dezimaler Wert
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
2
2
0
0
1
1
3
3
0
1
0
0
4
4
0
1
0
1
5
5
0
1
1
0
6
6
0
1
1
1
7
7
1
0
0
0
8
8
1
0
0
1
9
9
1
0
1
0
A
10
1
0
1
1
B
11
1
1
0
0
C
12
1
1
0
1
D
13
1
1
1
0
E
14
1
1
1
1
F
15

In den fett markierten Zeilen ist immer nur ein Bit auf 1 gesetzt und kennzeichnet die Wertigkeit dieses Bits: Bit 0 = 1, Bit 1 = 2, Bit 2 = 4, Bit 3 = 8. Rechnet man in den anderen Zeilen die Wertigkeiten der gesetzen Bits zusammen, erhält man den dezimalen Wert.

Da das in der Tabelle dargestellte Zahlensystem insgesamt 16 Ziffern beinhaltet, heißt es hexadezimales Zahlensystem. Wir sind völlig zwanglos über die notwendigen 4 Bit darauf gestoßen. Vielleicht gibt es aber auch Außerirdische, die an jeder Hand 8 Finger, also insgesamt 16 Finger haben.Na, und für die ist das Hexadezimale sowieso völlig normal.

Die ersten Mikrocontroller in den 70iger Jahren hatten ein Breite von 4 Bit und konnten eine Ziffer verarbeiten. Aber die Entwicklung ging schnell weiter und 8 Bit Breite wurde zum Standart.Mit 8 Bit lassen sich insgesamt 256 Möglichkeiten darstellen und das reicht aus, um neben Ziffern auch Buchstaben zu übertragen.

Es gilt:
8 Bit = 1 Byte

Da in der Mikroelektronik immer die vorhandene Bitzahl verdoppelt wird, war nach den 8 Bit der nächste Schritt 16 Bit und dann 32 Bit. Zur Zeit ist man mitten in Sprung zu 64 Bit.

Zusammenfassung und Darstellung in C

Wir haben jetzt vier Zahlensystem kennengelernt

In der Programmiersprache C kann man angeben, welches Zahlesystem man meint. Ohne Angabe wird immer das Dezimale System verwendet. Eine vorgestellte 0 bezeichnet das oktale System. Eine Zahl im binären System wird durch 0b und eine im hexadezimalen System durch 0x eingeleitet.

Zahlensystem Zahl Schreibweise in C dezimaler Wert
binär 0001 1011 0b00011011 27
oktal 33 033 27
dezimal 27 27 27
hexadezimal 1B 0x1b 27

In der Tabelle wird der dezimale Wert 27 in allen vier Zahlensystemen dargestellt. In C-Programmen ist es egal, welche Schreibweise man wählt, die Ergebnisse sind immer gleich.