Hexadezimalsystem: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Markierung: Ersetzt
Zeile 26: Zeile 26:
* [http://www.brefeld.homepage.t-online.de/zahlensysteme.html Zahlensysteme im Vergleich]
* [http://www.brefeld.homepage.t-online.de/zahlensysteme.html Zahlensysteme im Vergleich]
* [https://www.spiegel.de/fotostrecke/rechenmaschinen-fotostrecke-107914.html Historischer mechanischer Taschenrechner für das Hexadezimalsystem] auf [[einestages]]
* [https://www.spiegel.de/fotostrecke/rechenmaschinen-fotostrecke-107914.html Historischer mechanischer Taschenrechner für das Hexadezimalsystem] auf [[einestages]]
= TMP =
{| class="float-right" border="0" cellspacing="0" cellpadding="" style="text-align:center; border:2px;"
|+ Hexadezimalziffern,<br /> binär und dezimal:
|- style="background:black; height:2px;"
|style="background:black;"          | || || || || || || || || ||
|- style="height:32px; background:#EEEEEE;"
|style="width: 2px; background:black"|
|style="width:48px"                  | Hex.
|style="width: 2px; background:black"|
|style="width:96px" colspan = 4      | [[Dualsystem]]
|style="width: 2px; background:black"|
|style="width:48px"                  | [[Dezimalsystem|Dez.]]
|style="width: 2px; background:black"|
|- style="background:black; height:2px;"
|style="background:black;"            | || || || || || || || || ||
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''0'''
|style="background:black"| || 0 || 0 || 0 || 0
|style="background:black"| || '''00'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''1'''
|style="background:black"| || 0 || 0 || 0 ||style="background:#FF6"| 1
|style="background:black"| || '''01'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''2'''
|style="background:black"| || 0 || 0 ||style="background:#FF6"| 1 || 0
|style="background:black"| || '''02'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''3'''
|style="background:black"| || 0 || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1
|style="background:black"| || '''03'''
|style="background:black"|
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="background:black; height:2px;"
|style="background:black;" | || || || || || || || || ||
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''4'''
|style="background:black"| || 0 ||style="background:#FF6"| 1 || 0 || 0
|style="background:black"| || '''04'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''5'''
|style="background:black"| || 0 ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1
|style="background:black"| || '''05'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''6'''
|style="background:black"| || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0
|style="background:black"| || '''06'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''7'''
|style="background:black"| || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1
|style="background:black"| || '''07'''
|style="background:black"|
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="background:black; height:2px;"
|style="background:black;"            | || || || || || || || || ||
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''8'''
|style="background:black"| ||style="background:#FF6"| 1 || 0 || 0 || 0
|style="background:black"| || '''08'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''9'''
|style="background:black"| ||style="background:#FF6"| 1 || 0 || 0 ||style="background:#FF6"| 1
|style="background:black"| || '''09'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''A'''
|style="background:black"| ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1 || 0
|style="background:black"| || '''10'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''B'''
|style="background:black"| ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1
|style="background:black"| || '''11'''
|style="background:black"|
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="background:black; height:2px;"
|style="background:black;"            | || || || || || || || || ||
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''C'''
|style="background:black"| ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0 || 0
|style="background:black"| || '''12'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''D'''
|style="background:black"| ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0 ||style="background:#FF6"| 1
|style="background:black"| || '''13'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''E'''
|style="background:black"| ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 || 0
|style="background:black"| || '''14'''
|style="background:black"|
|- style="height:24px"
|style="background:black"| || '''F'''
|style="background:black"| ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1 ||style="background:#FF6"| 1
|style="background:black"| || '''15'''
|style="background:black"|
|- style="background:white; height:2px;"
|style="background:black"| ||
|style="background:black"| || || || || |
|style="background:black"| ||
|style="background:black"|
|- style="background: black; height: 2px;"
|style="width:2px"      | || || || || || || || || ||
|}
Im '''Hexadezimalsystem''' oder '''Sedezimalsystem''' werden [[Zahl]]en in einem [[Stellenwertsystem]] zur Basis 16 dargestellt. „Hexadezimal“ (von [[Griechische Sprache|griech.]] ''hexa'' „sechs“ und [[Latein|lat.]] ''decem'' „zehn“) ist ein lateinisch-griechisches Mischwort; korrekt ist die Übersetzung „Sedezimal“ (von lat. ''sēdecim''  „sechzehn“).
In der [[Datenverarbeitung]] wird das Hexadezimalsystem sehr oft verwendet, da es sich hierbei letztlich um eine komfortablere Verwaltung des [[Dualsystem|Binärsystems]] handelt. Die [[Datenwort|Datenwörter]] bestehen in der [[Informatik]] meist aus [[Oktett (Informatik)|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&nbsp;=&nbsp;2<sup>4</sup>) 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.
In den 1960er und 1970er Jahren wurde in der Informatik häufig auch das [[Oktalsystem]] mit seiner Basis als ''dritte'' Zweierpotenz (8&nbsp;=&nbsp;2<sup>3</sup>) 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.<ref>[https://www.mahoplus.de/geocaching/online_umrechner_zahlensysteme_bea.html Umrechnen mit verschiedenen Basiswerten], abgerufen am 30. Oktober 2018</ref>
Menschen sind es gewohnt, im [[Dezimalsystem]] zu rechnen. Das indo-arabische [[Zahlensystem]] verwendet zehn [[Symbol]]e zur Notation der [[Ziffer]]n ('''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 [[Latein|lat.]] ''sedecim'' bzw. ''hexadekadisch'' vom Griechischen), diese Bezeichnungen sind jedoch höchstens akademisch und haben keine Verbreitung gefunden.
Hexadezimal ist zu unterscheiden vom Wort hexa''ges''imal, das [[Synonymie|synonym]] zu [[Sexagesimalsystem|sexa''ges''imal]] 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 [[Indexmenge (Mathematik)|Index]] oder [[Präfix]] versehen.
Verbreitete Schreibweisen sind: 72<sub>16</sub>, 72<sub>hex</sub>, 72h, 72H, 72<sub>H</sub>, 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 [[Mikroprozessor|Prozessorfamilien]] üblich, insbesondere bei [[Motorola]], zum Beispiel beim Motorola [[Motorola 6800|68xx]] und [[Motorola 68000|68xxx]], aber auch beim [[MOS Technology 6502|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.0000<sub>16</sub> = 65.536<sub>10</sub> unter den hexadezimalen Zahlen entspricht also jener der 1.000<sub>10</sub> 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: 114<sub>10</sub>
== Zählen im Hexadezimalsystem ==
Gezählt wird wie folgt:
{| border="0" cellspacing="0" cellpadding="2" style="margin-left:40px; border-style:solid; border-width:8px; border-color:#EFEFEF; background:#EFEFEF;"
|----- align="right"
|style="width:6.25%;"|0
|style="width:6.25%;"|1
|style="width:6.25%;"|2
|style="width:6.25%;"|3
|style="width:6.25%;"|4
|style="width:6.25%;"|5
|style="width:6.25%;"|6
|style="width:6.25%;"|7
|style="width:6.25%;"|8
|style="width:6.25%;"|9
|style="width:6.25%;"|A
|style="width:6.25%;"|B
|style="width:6.25%;"|C
|style="width:6.25%;"|D
|style="width:6.25%;"|E
|style="width:6.25%;"|F
|----- align="right"
| 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17
| 18 || 19 || 1A || 1B || 1C || 1D || 1E || 1F
|----- align="right"
| 20 || 21 || 22 || 23 || 24 || 25 || 26 || 27
| 28 || 29 || 2A || 2B || 2C || 2D || 2E || 2F
|----- align="right"
||...||...||...||...||...||...||...||…
||...||...||...||...||...||...||...||…
|----- align="right"
| F0 || F1 || F2 || F3 || F4 || F5 || F6 || F7
| F8 || F9 || FA || FB || FC || FD || FE || FF
|----- align="right"
| 100 || 101 || 102 || 103 || 104 || 105 || 106 || 107
| 108 || 109 || 10A || 10B || 10C || 10D || 10E || 10F
|----- align="right"
||...||...||...||...||...||...||...||…
||...||...||...||...||...||...||...||…
|----- align="right"
| FF0 || FF1 || FF2 || FF3 || FF4 || FF5 || FF6 || FF7
| FF8 || FF9 || FFA || FFB || FFC || FFD || FFE || FFF
|----- align="right"
| 1000 || 1001 || 1002 || 1003 || 1004 || 1005 || 1006 || 1007
| 1008 || 1009 || 100A || 100B || 100C || 100D || 100E || 100F
|----- align="right"
||...||...||...||...||...||...||...||…
||...||...||...||...||...||...||...||…
|----- align="right"
| FFF0 || FFF1 || FFF2 || FFF3 || FFF4 || FFF5 || FFF6 || FFF7
| FFF8 || FFF9 || FFFA || FFFB || FFFC || FFFD || FFFE || FFFF
|----- align="right"
| 10000 || 10001 || 10002 || 10003 || 10004 || 10005 || 10006 || 10007
| 10008 || 10009 || 1000A || 1000B || 1000C || 1000D || 1000E || 1000F
|----- align="right"
||...||...||...||...||...||...||...||…
||...||...||...||...||...||...||...||…
|}
== 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“.
== Hexadezimale Multiplikationstafel (kleines Einmaleins) ==
Beispiel: 2 · 5 = A
Von der Spalte mit dem Wert 2 vertikal hinunter gehen bis Schnittpunkt der Zeile mit Wert 5 → Ergebnis: A
{{Tabellenstile}}
{| class="wikitable mw-collapsible mw-collapsed mw-datatable"
|--
! *  !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! A !! B !! C !! D !! E !! F !! 10
|--
! 1
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || A || B || C || D || E || F || 10
|--
! 2
| 2 || 4 || 6 || 8 || A || C || E || 10 || 12 || 14 || 16 || 18 || 1A || 1C || 1E || 20
|--
! 3
| 3 || 6 || 9 || C || F || 12 || 15 || 18 || 1B || 1E || 21 || 24 || 27 || 2A || 2D || 30
|--
! 4
| 4 || 8 || C || 10 || 14 || 18 || 1C || 20 || 24 || 28 || 2C || 30 || 34 || 38 || 3C || 40
|--
! 5
| 5 || A || F || 14 || 19 || 1E || 23 || 28 || 2D || 32 || 37 || 3C || 41 || 46 || 4B || 50
|--
! 6
| 6 || C || 12 || 18 || 1E || 24 || 2A || 30 || 36 || 3C || 42 || 48 || 4E || 54 || 5A || 60
|--
! 7
| 7 || E || 15 || 1C || 23 || 2A || 31 || 38 || 3F || 46 || 4D || 54 || 5B || 62 || 69 || 70
|--
! 8
| 8 || 10 || 18 || 20 || 28 || 30 || 38 || 40 || 48 || 50 || 58 || 60 || 68 || 70 || 78 || 80
|--
! 9
| 9 || 12 || 1B || 24 || 2D || 36 || 3F || 48 || 51 || 5A || 63 || 6C || 75 || 7E || 87 || 90
|--
! A
| A || 14 || 1E || 28 || 32 || 3C || 46 || 50 || 5A || 64 || 6E || 78 || 82 || 8C || 96 || A0
|--
! B
| B || 16 || 21 || 2C || 37 || 42 || 4D || 58 || 63 || 6E || 79 || 84 || 8F || 9A || A5 || B0
|--
! C
| C || 18 || 24 || 30 || 3C || 48 || 54 || 60 || 6C || 78 || 84 || 90 || 9C || A8 || B4 || C0
|--
! D
| D || 1A || 27 || 34 || 41 || 4E || 5B || 68 || 75 || 82 || 8F || 9C || A9 || B6 || C3 || D0
|--
! E
| E || 1C || 2A || 38 || 46 || 54 || 62 || 70 || 7E || 8C || 9A || A8 || B6 || C4 || D2 || E0
|--
! F
| F || 1E || 2D || 3C || 4B || 5A || 69 || 78 || 87 || 96 || A5 || B4 || C3 || D2 || E1 || F0
|--
! 10
| 10 || 20 || 30 || 40 || 50 || 60 || 70 || 80 || 90 || A0 || B0 || C0 || D0 || E0 || F0 || 100
|}
== Hexadezimalbrüche ==
Da das Hexadezimalsystem ein [[Stellenwertsystem]] ist, haben die Stellen nach dem Komma (das auch hier manchmal als Punkt geschrieben wird) den Stellenwert <math>1 \over B^n</math>, wobei <math>B</math> die dezimale Basis&nbsp;16 und <math>n</math> die Position der jeweiligen Nachkommastelle ist. Die erste Nachkommastelle (<math>n=1</math>) hat damit den Stellenwert <math>{1 \over 16^1} = {1 \over 16}</math>, die zweite Nachkommastelle (<math>n=2</math>) hat den Stellenwert <math>{1 \over 16^2} = {1 \over 256}</math>, die dritte Nachkommastelle (<math>n=3</math>) hat den Wert <math>{1 \over 16^3} = {1 \over 4096}</math> und so weiter.
Da die Zahl&nbsp;16 nur über den einzigen [[Primfaktorzerlegung|Primfaktor]]&nbsp;2 verfügt, ergibt sich bei allen [[gekürzter Bruch|gekürzten Brüchen]], deren Nenner keine Zweierpotenz ist, eine periodische Kommadarstellung im Hexadezimalsystem:
{| class="wikitable"
|-
| <math>1 \over 1</math> = 1
| <math>1 \over 5</math> = 0,<span style="text-decoration:overline">3</span><sub>16</sub>
| <math>1 \over 9</math> = 0,<span style="text-decoration:overline">1C7</span><sub>16</sub>
| <math>1 \over \mathrm D_{16}</math>  = 0,<span style="text-decoration:overline">13B</span><sub>16</sub>
|-
| <math>1 \over 2</math> = 0,8<sub>16</sub>
| <math>1 \over 6</math> = 0,2<span style="text-decoration:overline">A</span><sub>16</sub>
| <math>1 \over \mathrm A_{16}</math> = 0,1<span style="text-decoration:overline">9</span><sub>16</sub>
| <math>1 \over \mathrm E_{16}</math> = 0,1<span style="text-decoration:overline">249</span><sub>16</sub>
|-
|| <math>1 \over 3</math> = 0,<span style="text-decoration:overline">5</span><sub>16</sub>
| <math>1 \over 7</math> = 0,<span style="text-decoration:overline">249</span><sub>16</sub>
| <math>1 \over \mathrm B_{16}</math> = 0,<span style="text-decoration:overline">1745D</span><sub>16</sub>
| <math>1 \over \mathrm F_{16}</math> = 0,<span style="text-decoration:overline">1</span><sub>16</sub>
|-
| <math>1 \over 4</math> = 0,4<sub>16</sub>
| <math>1 \over 8</math> = 0,2<sub>16</sub>
| <math>1 \over \mathrm C_{16}</math> = 0,1<span style="text-decoration:overline">5</span><sub>16</sub>
| <math>1 \over 10_{16}</math> = 0,1<sub>16</sub>
|}
== Negative Zahlen ==
Negative Zahlen lassen sich ebenfalls darstellen. Dazu wird in den meisten Fällen die [[Zweierkomplement]]-Darstellung verwendet. Durch ihre Auslegung braucht an den Mechanismen für Rechnungen in den [[Grundrechenart]]en keine Änderung vorgenommen zu werden.
== Anwendung ==
=== Informatik ===
Das Hexadezimalsystem eignet sich sehr gut, um Folgen von [[Bit]]s (verwendet in der [[Digitaltechnik]]) darzustellen. Vier Stellen einer Bitfolge (ein [[Nibble]]) werden wie eine [[Dualsystem|Dualzahl]] interpretiert und entsprechen so einer Ziffer des Hexadezimalsystems, da 16 die vierte [[Potenz (Mathematik)|Potenz]] von 2 ist. Die Hexadezimaldarstellung der Bitfolgen ist leichter zu lesen und schneller zu schreiben:
{| class="wikitable"
|+
!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 [[Kreiszahl|π]] 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 in andere Zahlensysteme ==
Viele [[Taschenrechner]], aber auch die genauso genannten Hilfsprogramme auf [[Personal Computer]]n, bieten Umrechnungen zum [[Zahlbasiswechsel]] an. Insbesondere rechnen die [[Microsoft Windows|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 (Shell)|bash]]-Befehl oder gesondertes Hilfsprogramm) dafür benutzen.
=== Umwandlung von Dezimalzahlen in Hexadezimalzahlen ===
Eine Möglichkeit, eine Zahl des Dezimalsystems in eine Zahl des Hexadezimalsystems umzurechnen, ist die Betrachtung der [[Divisionsrest]]e, die entstehen, wenn die Zahl durch die [[Stellenwertsystem|Basis]] 16 geteilt wird, die Methode wird daher auch Divisionsverfahren oder Restwertverfahren genannt.
Im Beispiel der '''1278<sub>10</sub>''' 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'''.
=== Umwandlung von Hexadezimalzahlen in Dezimalzahlen ===
Um eine Hexadezimalzahl in eine [[Dezimalsystem|Dezimalzahl]] umzuwandeln, muss man die einzelnen Ziffern mit der jeweiligen Potenz der [[Stellenwertsystem|Basis]] multiplizieren. Der Exponent der [[Stellenwertsystem|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 '''4FE<sub>16</sub>''':
<math>[4FE]_{16} =4 \cdot  16^2 + 15  \cdot  16^1 + 14  \cdot  16^0  =  [1278]_{10}</math>
=== 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 '''8D53<sub>16</sub>''':
<math>[8D53]_{16} = 1000.1101.0101.0011_{2} = 1'000'110'101'010'011_{2} = 106523_{8}</math>
=== 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.
== Mathematische Darstellung des Hexadezimalsystems ==
Formuliert im Dezimalsystem:
<math>h_m h_{m-1} \cdots h_0, h_{-1} h_{-2} \cdots h_{-n} = \sum_{i=-n}^m h_i \cdot {(16_{10})}^i \qquad m,n\in\mathbb{N}\quad h_i\in\{0;1;\cdots ;15\}</math>
Formuliert im Hexadezimalsystem:
<math>h_m h_{m-1} \cdots h_0, h_{-1} h_{-2} \cdots h_{-n} = \sum_{i=-n}^m h_i \cdot {(10_{16})}^i \qquad m,n\in\mathbb{N}\quad h_i\in\{0;1;\cdots ;9;A;\cdots;F\}</math>
== Ein- und zweihändiges Zählen mit den Fingerspitzen und Gelenken ==
Wie auch das altbabylonische [[Sexagesimalsystem]] lässt sich auch das Hexadezimalsystem mit den Fingern abzählen. Mithilfe der folgenden Technik wird mit beiden Händen zusammen ein [[Byte]] dargestellt. Jede Hand repräsentiert dabei ein [[Nibble]]. Dessen oberes Crumb (Hälfte des Nibbles) zeigt sich am benutzten Finger, sein unteres Crumb dagegen am bezeigten Gelenk bzw. der Fingerspitze. Ein Bitflip ist durch [[Punktspiegelung]] der Daumenposition am Mittelpunkt der Fingerfläche herbeiführbar.
=== Einhändiges Zählen von Null bis F<sub>16</sub> ===
[[Datei:Dive hand signal OK 1.png|mini|OK-Zeichen]]
Benutzt man, wie schon die alten Babylonier, den Daumen als Zeiger, legt ihn an die Spitze des Zeigefingers wie beim OK-Zeichen der [[Tauchzeichen#Normierte Tauchzeichen|Taucher]] und definiert dieses Zeichen als die Null, lässt sich am oberen Gelenk des Zeigefingers die Eins festlegen, gefolgt von der Zwei am mittleren und schließlich der Drei am unteren Gelenk. Genauso fortgesetzt über die Vier an der Spitze des Mittelfingers, der Acht an der Spitze des Ringfingers und der Zwölf an der des kleinen. Damit lässt sich dann bis 15 = F<sub>16</sub> zählen, wenn der Daumen das untere Gelenk des kleinen Fingers erreicht hat, da wo er angewachsen ist.
Die beiden Crumbs des Nibbles werden dabei orthogonal auf der Hand abgebildet, sodass die unteren beiden Bits an der Höhe des Daumens am jeweiligen Finger und die beiden oberen am benutzen Finger abgelesen werden können. Das heißt, sowohl ein Daumen an der Fingerspitze, als auch am Zeigefinger steht für 00<sub>2</sub> im jeweiligen Crumb. Das obere Gelenk sowie der Mittelfinger stehen für 01<sub>2</sub>, das mittlere Gelenk und der Ringfinger für 10<sub>2</sub> und das untere Gelenk und der kleine Finger bedeuten 11<sub>2</sub>. Somit müssen sich nur noch vier Kombinationen gemerkt werden, um mit der Hand zwischen Hexadezimal- und Binärsystem zu konvertieren, anstelle von 16.
Ein Bitflip ist durch Punktspiegelung der Position des Daumens am Schnittpunkt der gedachten Achsen zwischen Ring- und Mittelfinger sowie der oberen und mittleren Gelenkreihe einfach zu erzielen. Ein Beispiel ist am Ende der folgenden Tabelle gegeben.
{| class="wikitable"
|+Beispiel zur Umwandlung zwischen Hex und Binär sowie von Bitflips mithilfe der Hand
!Ganzes Nibble
!Oberes Crumb
!Finger
!Unteres Crumb
!Position des Daumens am Finger
|-
|0<sub>16</sub> = (00 00)<sub>2</sub>
|00<sub>2</sub>
|Zeigefinger
|00<sub>2</sub>
|Spitze, OK-Zeichen
|-
|1<sub>16</sub> = (00 01)<sub>2</sub>
|00<sub>2</sub>
|Zeigefinger
|01<sub>2</sub>
|Oberes Gelenk
|-
|2<sub>16</sub> = (00 10)<sub>2</sub>
|00<sub>2</sub>
|Zeigefinger
|10<sub>2</sub>
|Mittleres Gelenk
|-
|3<sub>16</sub> = (00 11)<sub>2</sub>
|00<sub>2</sub>
|Zeigefinger
|11<sub>2</sub>
|Unteres Gelenk
|-
|4<sub>16</sub> = (01 00)<sub>2</sub>
|01<sub>2</sub>
|Mittelfinger
|00<sub>2</sub>
|Spitze
|-
|8<sub>16</sub> = (10 00)<sub>2</sub>
|10<sub>2</sub>
|Ringfinger
|00<sub>2</sub>
|Spitze
|-
|C<sub>16</sub> = (11 00)<sub>2</sub>
|11<sub>2</sub>
|kleiner Finger
|00<sub>2</sub>
|Spitze
|-
| colspan="5" |Bitflip von 2<sub>16</sub> durch Punktspiegelung am Schnittpunkt der o. g. gedachten Achsen
|-
|D<sub>16</sub> = (11 01)<sub>2</sub>
|11<sub>2</sub>
|kleiner Finger
|01<sub>2</sub>
|Oberes Gelenk
|}
=== Zweihändiges Zählen von Null bis FF<sub>16</sub> ===
Zählt man nun auf der linken Hand mit dem oben beschriebenen Verfahren, wie oft man auf der rechten Hand bis F<sub>16</sub> gezählt hat, so lässt sich mit zwei Händen ein Byte darstellen. Da an jedem Finger vier Elemente gezählt werden, ergibt sich, dass an den Fingerspitzen Vielfache von Vier auftreten. Dies bedeutet, dass, wenn die Daumen der jeweiligen Hände an der jeweiligen Zeigefingerspitze bei Null zu zählen beginnen, der Wert sich an den Fingerspitzen der rechten Hand um vier, wohingegen bei der linken um jeweils 40<sub>16</sub> bzw. 64, erhöht. Rückt man an der linken Hand nur um ein Fingerglied vor oder zurück, so ändert sich der dargestellte Wert um 10<sub>16</sub> bzw. 16.


[[Kategorie:Zeichenkodierung]]
[[Kategorie:Zeichenkodierung]]
[[Kategorie:Zahlensystem]]
[[Kategorie:Zahlensystem]]
</noinclude>
</noinclude>

Version vom 28. November 2023, 08:16 Uhr

topic - Kurzbeschreibung

Beschreibung

Anhang

Siehe auch


Links

Weblinks

Vorlage:Wiktionary