Bunte Bits

3. Nullen und Einsen


3.3 Bits und Bytes für Menschen - Das 16er-System

Wir haben nun eine tolle Computer-Zahlensprache erfunden, oder? Wir haben einen Weg gefunden, unsere komplizierten Zahlen so einfach darzustellen, dass sogar eine dumme Maschine damit rechnen kann.

Leider können wir Menschen auch mit viel Übung nicht auf einen Blick erfassen, dass die Bitfolge 01100011 die Zahl 99 darstellen soll! Außerdem kommt man bei den vielen gleichen Ziffern, Nullen und Einsen, sehr schnell mit den Stellen durcheinander. Deshalb hat man eine Möglichkeit gesucht, acht Bit etwas übersichtlicher darzustellen.

Natürlich könnte man die Zahl zwischen Null und 255, die der Bitfolge entspricht, einfach als normale Zahl (man nennt sie auch Dezimalzahl) schreiben. Es sollte aber eine Schreibweise sein, mit der man sehr schnell von der einen in die andere Darstellung wechseln kann. Wie immer wenn etwas schwierig ist, teilt man das Problem in kleinere Teile auf: Man teilt das Byte in zwei Hälften! Die vier Bits einer Hälfte stellt man mit einer einstelligen Zahl dar, so dass ein Byte als eine zweistellige Zahl dargestellt werden kann.
Ja, aber vier Bits können doch 16 verschiedene Zahlen darstellen!? Wie kann man das mit einer einstelligen Zahl darstellen? Nun man braucht nur 16 verschiedene Ziffern, also 16 verschiedene Zeichen, um eine Zahl zu schreiben (vgl. Kapitel 3!)!

Man hat sich darauf geeinigt, die zehn normalen Zahlen-Ziffern zu benutzen und zusätzlich die sechs ersten Buchstaben des Alphabets! Tabelle 5 zeigt die Bedeutung der Ziffern des 16er-Systems:

10er-System 16er-System Nullen und
Einsen
    10er-System 16er-System Nullen und
Einsen
0 0 0000 8 8 1000
1 1 0001 9 9 1001
2 2 0010 10 A 1010
3 3 0011 11 B 1011
4 4 0100 12 C 1010
5 5 0101 13 D 1011
6 6 0110 14 E 1110
7 7 0111 15 F 1111

Tabelle 5: Ziffern des 16er-Systems

Wenn man also beispielsweise die Bitfolge 10101100 im 16er-System schreiben will, schreibt man für die vordere Hälfte dieses Bytes (1010) ein A und für die hintere Hälfte (1100) ein C, also "AC".
Das Byte 11111111, das unserer normalen Zahl 255 entspricht, schreibt sich im 16er-System "FF".

Ein kleines Problem ergibt sich, wenn wir zum Beispiel 10010111 im 16er-System schreiben wollen: Für die erste Hälfte 1001 schreiben wir 9, für die zweite Hälfte 0111 schreiben wir 7, zusammen also 97. Das sieht genauso aus wie unsere normale Zahl Siebenundneunzig, bedeutet aber etwas völlig anderes, nämlich 151!

Man kann deshalb durchaus darüber streiten, ob es so sinnvoll war, für das 16er-System die selben Ziffern zu verwenden wie für das Zehnersystem. Man behilft sich, indem man Zahlen im 16er-System besonders kennzeichnet, meist mit einem vorangestellten "0x" oder einem angehängten "H".
10010111 schreibt man also 0x97 oder 97H.

Man nennt das Zahlensystem mit 16 Ziffern auch das Hexadezimalsystem.

Die Hälfte eines Bytes nennt man manchmal auch Nibble.

Unser normales Zahlensystem mit zehn Ziffern nennt man das Dezimalsystem.
Die Ziffern heißen arabische Ziffern, weil sie vor langer Zeit aus Arabien nach Europa kamen und die römischen Zahlen verdrängten.

Das Zweiersystem, mit dem wir unseren Computer gebaut haben, und das nur die zwei Ziffern Null und Eins kennt, nennt man auch Binärsystem. Manchmal liest man dafür auch den Begriff Dualsystem.

Alle diese Zahlensysteme sind sogenannte Stellenwertsysteme. Man nennt sie so, weil jede Stelle einen bestimmten Wert hat: Im Zehnersystem 1, 10, 100, usw., im Zweiersystem 1, 2, 4, 8, usw.
Im Gegensatz dazu ist z.B. das System der römischen Zahlen kein Stellenwertsystem!

Nach diesem ziemlich abgehobenen Ausflug in die Welt der Zahlensysteme sollten wir uns nun aber wieder praktischeren Dingen zuwenden!



3.2 Größere Zahlen Inhaltsverzeichnis
Index
3.4 Texte mit Nullen und Einsen