====== 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.