Hexadezimalsystem: Unterschied zwischen den Versionen
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
{| class="float | {| class="float wikitable" | ||
|+ Hexadezimalziffern,<br /> binär und dezimal: | |+ Hexadezimalziffern,<br /> binär und dezimal: | ||
|- | |- | ||
| | | | || || || || || || || || || | ||
|- style="height:32px; background:#EEEEEE;" | |- style="height:32px; background:#EEEEEE;" | ||
| | || | ||
|style="width:48px" | Hex. | |style="width:48px" | Hex. | ||
| | || | ||
|style="width:96px" colspan = 4 | [[Dualsystem]] | |style="width:96px" colspan = 4 | [[Dualsystem]] | ||
| | || | ||
|style="width:48px" | [[Dezimalsystem|Dez.]] | |style="width:48px" | [[Dezimalsystem|Dez.]] | ||
| | || | ||
|- | |- | ||
| | | | || || || || || || || || || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''0''' | ||
| | || || 0 || 0 || 0 || 0 | ||
| | || || '''00''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''1''' | ||
| | || || 0 || 0 || 0 ||style="background:#FF6"| 1 | ||
| | || || '''01''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''2''' | ||
| | || || 0 || 0 ||style="background:#FF6"| 1 || 0 | ||
| | || || '''02''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''3''' | ||
| | || || 0 || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 | ||
| | || || '''03''' | ||
| | || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- | |- | ||
| | | | || || || || || || || || || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''4''' | ||
| | || || 0 ||style="background:#FF6"| 1 || 0 || 0 | ||
| | || || '''04''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''5''' | ||
| | || || 0 ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1 | ||
| | || || '''05''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''6''' | ||
| | || || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0 | ||
| | || || '''06''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''7''' | ||
| | || || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 | ||
| | || || '''07''' | ||
| | || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- | |- | ||
| | | | || || || || || || || || || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''8''' | ||
| | || ||style="background:#FF6"| 1 || 0 || 0 || 0 | ||
| | || || '''08''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''9''' | ||
| | || ||style="background:#FF6"| 1 || 0 || 0 ||style="background:#FF6"| 1 | ||
| | || || '''09''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''A''' | ||
| | || ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1 || 0 | ||
| | || || '''10''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''B''' | ||
| | || ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 | ||
| | || || '''11''' | ||
| | || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- | |- | ||
| | | | || || || || || || || || || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''C''' | ||
| | || ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0 || 0 | ||
| | || || '''12''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''D''' | ||
| | || ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1 | ||
| | || || '''13''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''E''' | ||
| | || ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0 | ||
| | || || '''14''' | ||
| | || | ||
|- style="height:24px" | |- style="height:24px" | ||
| | || || '''F''' | ||
| | || ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 | ||
| | || || '''15''' | ||
| | || | ||
|- style="background:white; height:2px;" | |- style="background:white; height:2px;" | ||
| | || || | ||
| | || || || || || | | ||
| | || || | ||
| | || | ||
|- style="background: black; height: 2px;" | |- style="background: black; height: 2px;" |
Aktuelle Version vom 1. März 2024, 21:17 Uhr
Hexadezimalsystem - Im Hexadezimalsystem werden Zahlen im Stellenwertsystem zur Basis 16 dargestellt
Beschreibung
Hex. | Dualsystem | Dez. | |||||||
0 | 0 | 0 | 0 | 0 | 00 | ||||
1 | 0 | 0 | 0 | 1 | 01 | ||||
2 | 0 | 0 | 1 | 0 | 02 | ||||
3 | 0 | 0 | 1 | 1 | 03 | ||||
4 | 0 | 1 | 0 | 0 | 04 | ||||
5 | 0 | 1 | 0 | 1 | 05 | ||||
6 | 0 | 1 | 1 | 0 | 06 | ||||
7 | 0 | 1 | 1 | 1 | 07 | ||||
8 | 1 | 0 | 0 | 0 | 08 | ||||
9 | 1 | 0 | 0 | 1 | 09 | ||||
A | 1 | 0 | 1 | 0 | 10 | ||||
B | 1 | 0 | 1 | 1 | 11 | ||||
C | 1 | 1 | 0 | 0 | 12 | ||||
D | 1 | 1 | 0 | 1 | 13 | ||||
E | 1 | 1 | 1 | 0 | 14 | ||||
F | 1 | 1 | 1 | 1 | 15 | ||||
Im Hexadezimalsystem oder Sedezimalsystem werden Zahlen in einem Stellenwertsystem zur Basis 16 dargestellt. „Hexadezimal“ (von griech. hexa „sechs“ und lat. decem „zehn“) ist ein lateinisch-griechisches Mischwort; korrekt ist die Übersetzung „Sedezimal“ (von lat. sēdecim „sechzehn“).
- Komfortable Verwaltung des Binärsystems
In der Datenverarbeitung wird das Hexadezimalsystem sehr oft verwendet, da es sich hierbei letztlich um eine komfortablere Verwaltung des Binärsystems handelt.
- Die Datenwörter bestehen in der Informatik meist aus Oktetten, die statt als achtstellige Binärzahlen auch als nur zweistellige Hexadezimalzahlen dargestellt werden können.
- Im Gegensatz zum Dezimalsystem eignet sich das Hexadezimalsystem mit seiner Basis als vierte Zweierpotenz (16 = 24) zur einfacheren Notation der Binärzahlen, da stets eine feste Anzahl Zeichen zur Wiedergabe des Datenwortes benötigt wird.
- Ein Nibble kann exakt mit einer hexadezimalen Ziffer und ein Byte mit zwei hexadezimalen Ziffern dargestellt werden.
- Oktalsystem
In den 1960er und 1970er Jahren wurde in der Informatik häufig auch das Oktalsystem mit seiner Basis als dritte Zweierpotenz (8 = 23) verwendet, da es mit den üblichen Ziffern von 0 bis 7 auskommt.
- Es findet aber heute seltener Anwendung, beispielsweise zur Darstellung von Zeichen in der Programmiersprache C.
- Auch gibt es noch weitere Zahlensysteme mit verschiedenen Basiswerten.[1]
- Menschen sind es gewohnt, im Dezimalsystem zu rechnen.
- Das indo-arabische Zahlensystem verwendet zehn Symbole zur Notation der Ziffern (0 bis 9).
- Das Hexadezimalsystem enthält dagegen sechzehn Ziffern.
- Seit Mitte der 1950er Jahre werden zur Darstellung der sechs zusätzlichen Ziffern die Buchstaben A bis F oder a bis f als Zahlzeichen verwendet.
- Dies geht auf die damalige Praxis der IBM-Informatiker zurück.
- Etymologie
Bei hexadezimal handelt es sich um eine Mischung eines griechischen und eines lateinischen Wortpartikels.
- Zwar könnte die 16 ohne Rückgriff auf die jeweils andere Sprache ausgedrückt werden (sedezimal von lat. sedecim bzw. hexadekadisch vom Griechischen), diese Bezeichnungen sind jedoch höchstens akademisch und haben keine Verbreitung gefunden.
Hexadezimal ist zu unterscheiden vom Wort hexagesimal, das synonym zu sexagesimal ist und das Zahlensystem zur Basis 60 bezeichnet.
Darstellung von Hexadezimalzahlen
Um hexadezimale von dezimalen Zahlen unterscheiden zu können, existieren mehrere Schreibweisen. Üblicherweise werden hexadezimale Zahlen mit einem Index oder Präfix versehen.
Verbreitete Schreibweisen sind: 7216, 72hex, 72h, 72H, 72H, 0x72, $72, "72 und X'72', wobei das Präfix 0x und das Suffix h insbesondere in der Programmierung und technischen Informatik Verwendung finden.
- Das Anhängen eines h an die Hex-Zahl ist auch als Intel-Konvention geläufig.
- Die Schreibweise mit dem Dollar-Präfix ist in Assemblersprachen bestimmter Prozessorfamilien üblich, insbesondere bei Motorola, zum Beispiel beim Motorola 68xx und 68xxx, aber auch beim MOS 65xx; die Schreibweise X'72' ist in der Welt der IBM-Großrechner üblich, wie in REXX.
Der Übersicht dienende Trennpunkte können bei Hexadezimalzahlen alle vier Stellen gesetzt werden, trennen also Gruppen von jeweils sechzehn Bit.
- Die Bedeutung der 1.000016 = 65.53610 unter den hexadezimalen Zahlen entspricht also jener der 1.00010 unter den dezimalen Zahlen.
Zum Vergleich ein voller Vierundsechzig-Bit-Bus mit und ohne Trennpunkte: FFFF.FFFF.FFFF.FFFF und FFFFFFFFFFFFFFFF
Dezimale Zahlen werden, wo sie nicht der zu erwartende Normalfall sind, indiziert: 11410
Zählen im Hexadezimalsystem
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A | 2B | 2C | 2D | 2E | 2F |
... | ... | ... | ... | ... | ... | ... | … | ... | ... | ... | ... | ... | ... | ... | … |
F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | FA | FB | FC | FD | FE | FF |
100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 10A | 10B | 10C | 10D | 10E | 10F |
... | ... | ... | ... | ... | ... | ... | … | ... | ... | ... | ... | ... | ... | ... | … |
FF0 | FF1 | FF2 | FF3 | FF4 | FF5 | FF6 | FF7 | FF8 | FF9 | FFA | FFB | FFC | FFD | FFE | FFF |
1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 | 100A | 100B | 100C | 100D | 100E | 100F |
... | ... | ... | ... | ... | ... | ... | … | ... | ... | ... | ... | ... | ... | ... | … |
FFF0 | FFF1 | FFF2 | FFF3 | FFF4 | FFF5 | FFF6 | FFF7 | FFF8 | FFF9 | FFFA | FFFB | FFFC | FFFD | FFFE | FFFF |
10000 | 10001 | 10002 | 10003 | 10004 | 10005 | 10006 | 10007 | 10008 | 10009 | 1000A | 1000B | 1000C | 1000D | 1000E | 1000F |
... | ... | ... | ... | ... | ... | ... | … | ... | ... | ... | ... | ... | ... | ... | … |
Aussprache der Hexadezimalzahlen
- Für die hexadezimalen Ziffern und Zahlen sind keine eigenständigen Namen gebräuchlich.
- Hexadezimalzahlen werden daher meist Ziffer für Ziffer gelesen.
Beispiele:
- 10 sprich: „eins-null“ (nicht: „zehn“),
- 1E sprich: „eins-E“,
- F112 sprich: „F-eins-eins-zwei“.
Analog lässt sich jedoch auch die Zählweise des Dezimalsystems verwenden, ohne dass der Einsatz des Hexadezimalsystems bei jeder Zahl gehört werden kann und sich dann zum Beispiel aus dem Kontext ergeben muss.
- Da es allerdings zu Verwechslungen mit Dezimalzahlen kommen kann, wird dies seltener angewendet.
Beispiele:
- 10 sprich: „zehn“,
- 1E sprich: „E-zehn“,
- BD sprich: „D-und-B-zig“,
- F2A sprich: „F-hundert-A-undzwanzig“,
- F112 sprich: „F-tausendeinhundertzwölf“.
Anwendung
Informatik
- Das Hexadezimalsystem eignet sich sehr gut, um Folgen von Bits (verwendet in der Digitaltechnik) darzustellen.
- Vier Stellen einer Bitfolge (ein Nibble) werden wie eine Dualzahl interpretiert und entsprechen so einer Ziffer des Hexadezimalsystems, da 16 die vierte Potenz von 2 ist.
- Die Hexadezimaldarstellung der Bitfolgen ist leichter zu lesen und schneller zu schreiben:
binär | hexadezimal | dezimal |
---|---|---|
1111 | F | 15 |
1.1111 | 1F | 31 |
11.0111.1100.0101 | 37C5 | 14.277 |
1010.1100.1101.1100 | ACDC | 44.252 |
1.0000.0000.0000.0000 | 1.0000 | 65.536 |
1010.1111.1111.1110.0000.1000.0001.0101 | AFFE.0815 | 2.952.661.013 |
Der Punkt dient bei dieser Darstellung lediglich der Zifferngruppierung.
Software stellt daher Maschinensprache oft auf diese Weise dar.
Mathematik
Seitdem die Bailey-Borwein-Plouffe-Formel zur Berechnung von π im Jahr 1995 entwickelt wurde, ist das Hexadezimalsystem auch jenseits der Informatik von Bedeutung.
- Diese Summenformel kann jede beliebige Hexadezimalstelle von π berechnen, ohne die vorhergehenden Stellen dafür zu benötigen.
Konvertierung
- Konvertierung in andere Zahlensysteme
Viele Taschenrechner, aber auch die genauso genannten Hilfsprogramme auf Personal Computern, bieten Umrechnungen zum Zahlbasiswechsel an.
- Insbesondere rechnen die Windows- und macOS-Programme „Rechner“ Binär-, Hexadezimal- und Oktalzahlen in Dezimale und zurück, wenn man unter „Ansicht“ (Windows) bzw. „Darstellung“ (macOS) den Menüpunkt „Programmierer“ auswählt.
- In vielen Linux-Distributionen ist ein Taschenrechner-Hilfsprogramm vorinstalliert, das eine solche „Programmierer-Option“ beinhaltet, oder man kann in der Kommandozeile die Anweisung printf (als eingebauten bash-Befehl oder gesondertes Hilfsprogramm) dafür benutzen.
Dezimalzahlen in Hexadezimalzahlen
- Umwandlung von Dezimalzahlen in Hexadezimalzahlen
Eine Möglichkeit, eine Zahl des Dezimalsystems in eine Zahl des Hexadezimalsystems umzurechnen, ist die Betrachtung der Divisionsreste, die entstehen, wenn die Zahl durch die Basis 16 geteilt wird, die Methode wird daher auch Divisionsverfahren oder Restwertverfahren genannt.
Im Beispiel der 127810 sähe das so aus:
1278 : 16 = 79 Rest: 14 (= E) (Nr:1278-(79*16)=14) 79 : 16 = 4 Rest: 15 (= F) (Nr:79-(4*16)=15) 4 : 16 = 0 Rest: 4 (Nr:4-(0*16)=4)
Die Hexadezimalzahl wird von unten nach oben gelesen und ergibt somit 4FE.
Hexadezimalzahlen in Dezimalzahlen
- Umwandlung von Hexadezimalzahlen in Dezimalzahlen
Um eine Hexadezimalzahl in eine Dezimalzahl umzuwandeln, muss man die einzelnen Ziffern mit der jeweiligen Potenz der Basis multiplizieren.
- Der Exponent der Basis entspricht der Stelle der Ziffer, wobei der Zahl vor dem Komma eine Null zugeordnet wird.
- Dazu muss man allerdings noch die Ziffern A, B, C, D, E, F in die entsprechenden Dezimalzahlen 10, 11, 12, 13, 14, 15 umwandeln.
Beispiel für 4FE16:
Hexadezimal nach Oktal
- Umwandlung Hexadezimal nach Oktal
Um Zahlen zwischen dem vor allem früher in der Informatik verbreiteten Oktalsystem und dem heute gebräuchlichen Hexadezimalsystem umzuwandeln, ist der Zwischenschritt über das Binärsystem zweckmäßig.
- Dies gelingt recht einfach, da sowohl die Basis 8, als auch die Basis 16 Zweierpotenzen sind.
- Die Hexadezimalzahl wird nach obiger Tabelle in eine Folge von Binärziffern umgewandelt.
- Die Vierergruppen werden in Dreiergruppen umgewandelt.
- Anschließend wird die Binärfolge in eine Oktalfolge übersetzt.
Beispiel für 8D5316:
Oktal nach Hexadezimal
- Umwandlung Oktal nach Hexadezimal
Genauso einfach erfolgt die Umwandlung von oktal nach hexadezimal, nur dass hier der Weg
- Oktalfolge → Binärfolge in Dreiergruppen → Binärfolge in Vierergruppen → Hexadezimalfolge
gegangen wird.
Anhang
Siehe auch
- Hexadezimale Farbdefinition – die Darstellung einer Farbe mit hexadezimaler Kodierung des Rot-, Grün- und Blauwertes
- Hex-Editor – ein Editor, um beliebige Dateien, die als Folge von Hexadezimalzahlen dargestellt werden, zu bearbeiten
- Hexadezimalzeit – ein 1863 vorgeschlagenes Uhrzeitformat, das sich nicht durchgesetzt hat
- Hexspeak – spezielle Begriffe, die sich durch Ziffern und die Buchstaben A–F darstellen lassen
- Stellenwertsystem
- Unärsystem (1)
- Dualsystem (2)
- Ternärsystem (3)
- Quaternär (4)
- Quinär (5)
- Senär (6)
- Dezimalsystem (10)
Links
Weblinks
- https://de.wikipedia.org/wiki/Hexadezimalsystem
- Online-Umrechner für verschiedene Zahlensysteme
- Zahlensysteme im Vergleich
- Historischer mechanischer Taschenrechner für das Hexadezimalsystem auf einestages
- ↑ Umrechnen mit verschiedenen Basiswerten, abgerufen am 30.
- Oktober 2018