Cheat-Praxis: Grundlagen


Hexadezimalzahlen

Im Dezimalsystem, darum heißt es so, steht eine Ziffer für einen der zehn Werte zwischen Null und Neun. Im Binärsystem gibt es nur zwei Ziffern. Ansonsten ist die Zählung im Binärsystem nicht ungewöhnlich: 0, 1, 10, 11, 100, 101, 110, 111. Binärzahlen lassen sich in Dezimalzahlen umwandeln und umgekehrt. Der ASCII-Code für den Buchstaben "A", die Bitfolge 01000001, hat so den dezimalen Wert 65. Viele Taschenrechner, auch der Windows beiliegende, können zwischen beiden Formaten konvertieren.

Dabei taucht ein Schönheitsfehler auf: Das Dezimalsystem, mit dem wir aufgewachsen sind, ist nicht ideal als Ersatz für binäre Zahlen. Nehmen wir 4 Bit, die 16 Zustände speichern können:

0000 entspricht der 00 im Dezimalsystem 1000 entspricht der 08 im Dezimalsystem
0001 entspricht der 01 im Dezimalsystem 1001 entspricht der 09 im Dezimalsystem
0010 entspricht der 02 im Dezimalsystem 1010 entspricht der 10 im Dezimalsystem
0011 entspricht der 03 im Dezimalsystem 1011 entspricht der 11 im Dezimalsystem
0100 entspricht der 04 im Dezimalsystem 1100 entspricht der 12 im Dezimalsystem
0101 entspricht der 05 im Dezimalsystem 1101 entspricht der 13 im Dezimalsystem
0110 entspricht der 06 im Dezimalsystem 1110 entspricht der 14 im Dezimalsystem
0111 entspricht der 07 im Dezimalsystem 1111 entspricht der 15 im Dezimalsystem

Um die Dezimalzahlen von 0 bis 9 binär darzustellen, benötigen Sie 4 Bit. Es geht aber nicht genau auf: 3 Bit reichen für nur 8 Dezimalzahlen, 4 Bit aber bereits für 16 Zahlen. 3 Bit sind damit zu wenig, und 4 Bit Verschwendung, weil die Binärzahlen 1010 bis 1111 ungenutzt bleiben.

Deshalb führte man ein Zahlensystem ein, das außer den Ziffern 0 bis 9 noch die restlichen 6 Stellen ausfüllt, die zur Darstellung einer 4-Bit-Zahl notwendig sind. Und mangels geeigneter Ziffernsymbole nahm man die Buchstaben A bis F. Diese Hexadezimalzahlen zählen nach der 9 von A bis F, dann folgt die 10. Nach 19 folgt 1A, und nach 1F kommt die 20:

0 .. 9, A, B .. F, 10, 11 .. 19, 1A, 1B .. 1F, 20 .. 99, 9A .. 9F, A0 .. FF, 100, 101 .. 109, 10A ...

Das Hexadezimalsystem wurde eingeführt, weil das Rechnen mit Binarzahlen keinen Spaß macht, aber sich Binärzahlen nicht optimal zu Dezimalzahlen konvertieren lassen.

Weil eine Hexzahl sehr einfach in eine Binärzahl konvertiert werden kann, bildet sie die Grundlage für Adreßrechnung und Zahlenspeicherung: Jede Hexziffer entspricht einer 4-Bit-Zahl, und nichts bleibt übrig. Das Verwandeln einer Dezimalzahl wie 1000 in eine Hexzahl kann recht umständlich mit Papier und Bleistift, angenehmer mit einem Taschenrechner bewerkstelligt werden. Falls Ihr Taschenrechner nicht mit den Tasten HEX, BIN und DEC ausgerüstet ist, können Sie den Windows-Rechner (Option Ansicht/Wissenschaftlich anklicken) konsultieren. Am bequemsten bleibt der Taschenrechner. Nahezu jeder Rechner ab 20 Mark unterstüzt Hexzahlen.

Wichtige Umrechnungen:

Hexadezimal Dezimal
00.00.00.0A 10
00.00.00.63 99
00.00.00.64 100
00.00.00.FF 255 (der höchste Wert für ein Byte)
00.00.7F.FF 32.767
00.00.FF.FF 65.535 (der höchste Wert für zwei Byte)
00.FF.FF.FF 16.777.215 (der höchste Wert für drei Byte)
FF.FF.FF.FF 4.294.967.295 (der höchste Wert für vier Byte)

In der Regel wird eine Hexzahl durch ein abschließendes H gekennzeichnet. Nicht ungeläufig sind auch von Programmiersprachen her bekannte Notationen wie ein vorangestelltes $ oder 0x. Mitunter stellt man Hexzahlen eine oder mehrere Nullen voran. Das hat nur optische Gründe, die Hexzahlen 0123 hat den gleichen Wert wie 123.
von Ren Meyer