====== 1.02) Hexadezimalsystem ======
Besonders **wichtig** ist in der **Informatik und Digitaltechnik** neben dem Binärsystem auch das **Hexadezimalsystem (Sedezimalsystem)**. Das Hexadezimalsystem verwendet die **Basis 16**, d.h. es gibt **16 verschiedene Ziffern**, **0 bis 9** und zusätzlich die Buchstaben **A bis F** (sog. Zahlzeichen; können auch als klein geschrieben werden: a-f).
Mit dem Hexadezimalsystem können auf einfachere und kürzere Weise Binärzahlen notiert werden. Mit einer 4-stelligen Binärzahl (auch als Halbbyte oder Nibble bezeichnet) lassen sich 16 (24 = 16) verschiedene Zahlen darstellen, und zwar 0 bis 15 (die Null zählt mit!). Da das Hexadezimalsystem die Basis 16 (= 24) verwendet, reicht eine (!) Hexadezimalzahl aus, um vier Bits (Binärziffern) darzustellen. Mit zwei Hexadezimalzahlen kann ein Byte (8 Bits) angeschrieben werden.
=====Gegenüberstellung Hexadezimal-, Binär- und Dezimalsystem=====
^Hex^Binär^Dezimal^
|0|0000| 0|
|1|0001| 1|
|2|0010| 2|
|3|0011| 3|
|4|0100| 4|
|5|0101| 5|
|6|0110| 6|
|7|0111| 7|
|8|1000| 8|
|9|1001| 9|
|A|1010|10|
|B|1011|11|
|C|1100|12|
|D|1101|13|
|E|1110|14|
|F|1111|15|
Um eindeutig darauf hinzuweisen, dass es sich um eine Hexadezimalzahl handelt, kann ebenso wie in anderen Zahlensystemen die Basis tiefgestellt dazu geschrieben werden, z.B. **3F16** (= 6310 dezimal) oder **9316** (= 14710 dezimal). Es sind aber auch andere Schreibweisen üblich:
a) Vorangestelltes **0x (Prefix), z.B. 0x93**. Diese Notation wird in Programmiersprachen mit C-ähnlicher-Syntax verwendet.
b) Nachgestelltes **h** (Postfix), z.B. **93h**. Letztere Schreibweise ist besonders in der Technik gebräuchlich.
=====Umrechnung vom Dezimal- ins Hexadezimalsystem=====
Die Umrechnung funktioniert ähnlich der Umrechnung von Dezimal- zu Binärzahlen (s.o.). Nun muss aber, statt durch 2, durch 16 dividiert werden. Die Reste werden genauso von rechts nach links angeschrieben und geben, wenn das Ergebnis der Ganzzahlendivision 0 ist, das Endergebnis.
Beispiel: Die Dezimalzahl **30410** soll in eine Hexadezimalzahl umgewandelt werden.
304 / 16 = 19 => 0 Rest
19 / 16 = 1 => 3 Rest
1 / 16 = 0 => 1 Rest
Für das Endergebnis werden jetzt die Reste **von unten nach oben gelesen**. \\
Somit ergibt sich ein Endergebnis von 13016, das entspricht der Dezimalzahl **30410**. \\
=====Umrechnung vom Hexadezimal- ins Dezimalsystem=====
Die Umrechnung vom Hexadezimal- ins Dezimalsystem kann genauso wie oben von Binär->Dezimal demonstriert, erfolgen. Die einzelnen Ziffern werden mit dem jeweiligen Stellenwert (16n, wobei n = 0, 1, 2, ...) multipliziert und die jeweiligen Ergebnisse aufsummiert. Das folgende Beispiel demonstriert dies anhand der Hexadezimalzahl 13016:
0 * 16^0 = 0
3 * 16^1 = 48
1 * 16^2 = 256
---------------
= 304
Als Ergebnis erhalten wir 304 dezimal, womit die Probe - zur vorigen Rechnung in die umgekehrte Richtung - erfolgreich war. 30410 entspricht 13016. Diese Antwort hätte in der Praxis natürlich auch ein wissenschaftlicher Taschenrechner geliefert. :-) Es reicht dazu sogar der **Windows-Rechner** (den Sie nur auf die wissenschaftliche Ansicht umstellen müssen) oder unter Linux Programme wie z.B. KCalc.