Hexadezimal Code

Kategorisierung:Kodierungen / Umwandlungen
Herkunft / Verwendung:Das allgemein gebräuchliche Zahlensystem, das wir täglich verwenden, ist das Dezimalsystem, basiert auf der 10, wohl aufgrund der Tatsache, dass wir 10 Finger zum zählen haben. Für die Zahlen 0 bis 9 brauchen wir nur eine Ziffer, bei der 10 erfolgt dann ein Übertrag und wir brauchen zwei Ziffern, wobei die rechte Ziffer (Einerstelle) den Wert 1 hat und die zweitrechte (Zehnerstelle) den Wert 10 usw. Um auf einen Wert zu kommen, nehmen wir also von rechts nach links die 1. Ziffer mal 1, die 2. mal 10, die 3. mal 100 usw. und addieren die Einzelwerte.

Elektronische Schaltungen können eigentlich nicht zählen, und wenn, dann maximal bis 1, denn sie kennen nur zwei Zustände: an oder aus, in Ziffern symbolisiert 0 oder 1. Die Basis ist also zwei. Auch hier kann man jede Zahl ausdrücken, indem man von rechts nach links jede Ziffer mal den Wert an der Ziffern-Position zur Basis (1, 2, 4, 8, 16 etc.) nimmt, aber das ergibt sehr schnell lange Zahlen, z. B. 1111101000 (binär) für 1000 (dezimal).

Ein Kompromiss für die "Lesbarkeit" zwischen Mensch und Computer ist eine Zahl auf der Basis 16, wobei die Wertigkeiten von rechts nach links 1, 16, 256, 4096 etc. sind. Als Ziffern werden 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F verwendet, also diejenigen, die wir bereits aus dem Dezimalsystem kennen plus A-F für 10 (dez.) bis 15 (dez.). Wenn Hexzahlen zweistellig sind, werden sie, sollten sie einstellig sein, mit führenden Nullen geschrieben, dezimal '12' ist also hexadezimal '0C'.

Da der Computerspeicher in Bytes (je 8 Bit) aufgeteilt ist, also je Byte Werte von 0 bis 255 fasst, ist diese Aufteilung und Gruppen zu je 2 Hex-Ziffern für diese Werte gebräuchlich. Für bestimmte Register oder wenn man größere Zahlen speichern möchte, gibt es zudem größere Hexzahlen mit 4 Hex-Ziffern (2 Bytes = 1 Word) für Werte von 0-65535 (164) oder 8 Hex-Ziffern (4 Bytes = Double Word) für Werte von 0-4.294.967.295 (168) oder -2.147.483.648 bis +2147483647, möchte man auch negative Zahlen berücksichtigen, dann wird das vorderste Bit für das Vorzeichen verwendet und für den Wert selbst bleiben noch 31 Bit.

Beschreibung des Algorithmus

Wandelt Dezimalzahlen (Basis 10) in Hexadezimalzahlen (Basis 16) um.

Beispiel

Klartext:66 101 105 115 112 105 101 108 107 108 97 114 116 101 120 116 (ASCII für Beispielklartext)
Variante:Zahlen 0-255 --> Hex 00-FF (8bit)
Kodiert:42 65 69 73 70 69 65 6C 6B 6C 61 72 74 65 78 74
66 101 105 115 112 105 101 108 107 108 97 114 116 101 120 116 <-- dez 42 65 69 73 70 69 65 6C 6B 6C 61 72 74 65 78 74 <-- hex

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)