Hexadezimal
Im Mathematik und Computer, das hexadezimal (Auch Basis 16 oder einfach verhexen) Zifferungssystem ist a Positionszahlensystem Das repräsentiert Zahlen mit a Radix (Basis) von 16. anders als die Dezimal Hexadezimal repräsentiert Zahlen mit 10 Symbolen und verwendet 16 verschiedene Symbole, meistens die Symbole "0" - "9", um die Werte 0 bis 9 und "A" - "F" (oder alternativ "A" - "F") darzustellen. Werte von 10 bis 15 darstellen.
Softwareentwickler und Systemdesigner verwenden hexadezimale Zahlen weit verbreitet, da sie eine menschenfreundliche Darstellung von bieten binär codiert Werte. Jede hexadezimale Ziffer repräsentiert vier Bits (binäre Ziffern), auch bekannt als a knabbern (oder Nybble). Zum Beispiel ein 8-Bit Byte Kann Werte von 00000000 bis 11111111 in binärer Form haben, die in Hexadezimal bequem als 00 bis FF dargestellt werden können.
In der Mathematik wird in der Regel ein Index verwendet, um die Basis anzugeben. Zum Beispiel der Dezimalwert 22,310 würde in hexadezimal als 5726 ausgedrückt werden16. Bei der Programmierung wird eine Reihe von Notationen verwendet, um Hexadezimalzahlen zu bezeichnen, die normalerweise ein Präfix betreffen. Das Präfix 0x
wird in verwendet C, was diesen Wert als bezeichnen würde 0x5726
.
Hexadezimal wird in der Transferkodierung verwendet Basis16, in dem jeder Byte der Klartext wird in zwei 4-Bit-Werte unterteilt und durch zwei hexadezimale Ziffern dargestellt.
Darstellung
Schriftliche Darstellung
In den meisten aktuellen Anwendungsfällen stellen die Buchstaben A - F oder A - F die Werte 10–15 dar, während die Ziffern 0–9 werden verwendet, um ihre Dezimalwerte darzustellen.
Es gibt keine universelle Konvention, um Kleinbuchstaben oder Großbuchstaben zu verwenden. Daher ist jeder in bestimmten Umgebungen nach Gemeindestandards oder Konventionen vorherrschend oder bevorzugt. Sogar gemischtes Gehäuse wird verwendet. Sieben-Segment-Anzeigen Verwenden Sie Mixed-Case ABCDEF, um Ziffern zu erstellen, die voneinander unterschieden werden können.
Es gibt eine Standardisierung der Verwendung von Räumen (anstelle von Kommas oder einem anderen Interpunktionszeichen), um die HEX -Werte in einer langen Liste zu trennen. Zum Beispiel im Folgenden Hex -Dump, jeweils 8-Bit Byte ist eine 2-stellige Hex-Nummer mit Leerzeichen zwischen ihnen, während der 32-Bit-Offset am Start eine 8-stellige Hex-Nummer ist.
00000000 57 69 6b 69 70 65 64 69 61 2c 20 74 68 65 20 66 00000010 72 65 65 20 65 6e 63 79 63 6c 6f 70 65 64 69 61 00000020 20 74 68 61 74 20 61 6e 79 6f 6e 65 20 63 61 6e 00000030 20 65 64 69 74 0a
Unterscheidung von der Dezimalzahlung
In Kontexten wo die Base ist nicht klar, Hexadezimalzahlen können mehrdeutig und verwirrt mit Zahlen, die in anderen Basen ausgedrückt werden. Es gibt mehrere Konventionen, um Werte eindeutig auszudrücken. Ein numerisches Index (selbst in Dezimalem geschrieben) kann der Basis explizit geben: 15910 ist dezimal 159; 15916 ist hexadezimal 159, was gleich 345 entspricht10. Einige Autoren bevorzugen ein Text -Index, wie 159Dezimal und 159verhexen, oder 159d und 159h.
Donald Knuth führte die Verwendung einer bestimmten Schrift zur Darstellung eines bestimmten Radix in seinem Buch ein Das Texbook.[1] Hexadezimaler Darstellungen werden dort in a geschrieben Schreibmaschinenschrift: 5a3
In linearen Textsystemen, wie sie in den meisten Computerprogrammierumgebungen verwendet werden, sind verschiedene Methoden entstanden:
- Unix (und verwandte) Muscheln, AT&T Montagesprache und ebenfalls die C Programmiersprache (und seine syntaktischen Nachkommen wie z. C ++, C#, gehen, D, Java, JavaScript, Python und Windows PowerShell) Verwenden Sie das Präfix
0x
Für numerische Konstanten, die in Hex dargestellt sind:0x5a3
. Zeichen- und Stringkonstanten können Zeichencodes in Hexadezimal mit dem Präfix ausdrücken\x
gefolgt von zwei Sechskantigstellungen:'\ x1b'
repräsentiert die Esc Steuerzeichen;"\ x1b [0m \ x1b [25; 1H"
ist eine Zeichenfolge mit 11 Zeichen mit zwei eingebetteten ESC -Zeichen.[2] Eine Ganzzahl als hexadezimal mit dem ausgeben printf Funktionsfamilie, den Formatkonvertierungscode%X
oder%x
wird genutzt. - Im URIS (einschließlich URLs), Zeichencodes werden als hexadezimale Paare geschrieben, die vorangestellt sind
%
:http://www.example.com/name%20with%20spaces
wo%20
ist der Code für die Raum (leer) Charakter, ASCII Codepunkt 20 in Hex, 32 in Decimal. - Im Xml und Xhtml, Charaktere können als hexadezimal ausgedrückt werden Numerische Charakterreferenzen Verwenden der Notation
Ode;
, zum Beispiel’
repräsentiert das Zeichen U+2019 (die richtige einzelne Zitat Marke). Wenn es keine gibtx
Die Zahl ist dezimal (also’
ist der gleiche Charakter).[3] - In dem Unicode Standard wird ein Zeichenwert dargestellt mit
U+
gefolgt vom HEX -Wert, z.U+20AC
ist der Eurozeichen (€). - Farbreferenzen in HTML, CSS und X Fenster kann mit sechs hexadezimalen Ziffern ausgedrückt werden (jeweils zwei für die roten, grünen und blauen Komponenten, in dieser Reihenfolge), die mit vorangestellt sind
#
: Weiß zum Beispiel wird als dargestellt als#Ffffff
.[4] CSS ermöglicht außerdem 3-Hexdigit-Abkürzungen mit einem HexDigit pro Komponente: #FA3 Abkrümpfe #ffaa33 (ein goldenes Orange: ). - Im MIME (E-Mail-Erweiterungen) zitiert Codierung, Zeichencodes werden als hexadezimale Paare geschrieben
=
:ESPA = F1a
ist "España" (F1 ist der Code für ñ im ISO/IEC 8859-1-Zeichenset).[5]) - In intel abgeleitet Assemblersprachen und Modula-2,[6] Hexadezimal wird mit einem Suffix bezeichnet H oder h:
Ffh
oder05a3h
. Einige Implementierungen erfordern einen führenden Null0ffh
Anstatt vonFfh
. Einige andere Implementierungen (wie NASM) erlauben Zahlen im C-Stil (C-Art (0x42
). - Andere Assemblersprachen (6502, Motorola), Pascal, Delphi, einige Versionen von BASIC (Kommodore), Gamemaker -Sprache, Godot und Weiter verwenden
$
als Präfix:$ 5a3
. - Einige Montagesprachen (Mikrochip) verwenden die Notation
H'abcd '
(für ABCD16). Ähnlich, Forran 95 verwendet Z'abcd '. - Ada und VHDL Hexadezimale Ziffern in basierten "numerischen Zitaten" einschließen:
16#5a3#
. Für Bit Vector Constanten VHDL verwendet die Notationx "5A3"
.[7] - Verilog repräsentiert Hexadezimalkonstanten in der Form
8'hff
, wobei 8 die Anzahl der Bits im Wert und FF ist die hexadezimale Konstante. - Das Smalltalk Sprache verwendet das Präfix
16r
:16R5A3
- PostScript und die Bourne Shell und seine Derivate bezeichnen Hex mit Präfix
16#
:16#5a3
. Für PostScript -Binärdaten (z. B. Bild Pixel) kann als nicht fixierte aufeinanderfolgende hexadezimale Paare ausgedrückt werden:AA213FD51B3801043FBC
... - Common Lisp Verwendet die Präfixe
#x
und#16r
. Einstellen der Variablen *Read-Base *[8] und *Print-Base *[9] bis 16 kann auch verwendet werden, um den Leser und den Drucker eines gemeinsamen Lisp -Systems auf Hexadezimalzahl -Darstellung für das Lesen und Druckzahlen zu wechseln. Somit können Hexadezimalzahlen ohne den #x- oder #16R -Präfixcode dargestellt werden, wenn die Eingabe- oder Ausgangsbasis auf 16 geändert wurde. - MSX Basic,[10] QuickBasic, Freilasisch und Visual Basic Präfix -Hexadezimalzahlen mit
&H
:& H5a3
- BBC Basic und Lokomotive Basic verwenden
&
für Hex.[11] - Ti-89 und 92 Serien verwendet a
0H
Präfix:0H5A3
- Algol 68 Verwendet das Präfix
16r
Sechsezimalzahlen zu bezeichnen:16R5A3
. Binäre, quaternäre (Basis-4) und Oktalzahlen können ähnlich angegeben werden. - Das häufigste Format für Hexadezimal auf IBM Mainframes (ZSeries) und mittlere Bereiche (Computer (Ibm i) Ausführen der traditionellen Betriebssysteme (Zos, Zvse, zvm, TPF, Ibm i) ist
X'5a3 '
und wird in Assembler verwendet, Pl/i, Cobol, JCl, Skripte, Befehle und andere Orte. Dieses Format war auch auf anderen (und jetzt veralteten) IBM -Systemen üblich. Gelegentlich wurden Anführungszeichen anstelle von Apostrophen verwendet. - Irgendein IPv6 -Adresse kann als acht Gruppen von vier hexadezimalen Ziffern geschrieben werden (manchmal genannt Hextets), wobei jede Gruppe durch einen Dickdarm getrennt ist (
:
). Dies ist beispielsweise eine gültige IPv6 -Adresse:2001:0db8:85a3:0000:0000:8a2e:0370:7334
oder abgekürzt durch Entfernen von Nullen als2001:db8:85a3::8a2e:370:7334
(IPv4 -Adressen sind normalerweise in dezimaler Dezimalheit geschrieben). - Global einzigartige Kennungen werden als zweiunddreißig hexadezimale Ziffern geschrieben, oft in ungleiche Bindestrichen, zum Beispiel
3F2504E0-4F89-41D3-9A0C-0305E82C3301
.
Andere Symbole für 10–15 und meistens verschiedene Symbolsätze
Die Verwendung der Buchstaben A durch F Die Ziffern über 9 war in der frühen Geschichte von Computern nicht universell.
- In den 1950er Jahren wurden einige Installationen wie Bendix-14 mit den Ziffern 0 bis 5 mit einem bevorzugt überaus die Werte 10–15 als zu bezeichnen 0, 1, 2, 3, 4 und 5.
- Das Swac (1950)[12] und Bendix G-15 (1956)[13][12] Computer verwendeten die Kleinbuchstabenbuchstaben u, v, w, x, y und z Für die Werte 10 bis 15.
- Das Ordvac und Illiac i (1952) Computer (und einige abgeleitete Designs, z. Brlesc) verwendete die Großbuchstaben K, S, N, J, F und L Für die Werte 10 bis 15.[14][12]
- Das librascope LGP-30 (1956) verwendeten die Buchstaben F, G, J, K, Q und W Für die Werte 10 bis 15.[15][12]
- Auf der DAUERWELLE (1956) Computer, Hexadezimalnummern wurden als Briefe geschrieben O für null, A zu N und P für 1 bis 15. Viele Maschinenanweisungen hatten mnemonische Hexencodes (A= hinzufügen, M= multiplizieren, L= Last, F= Festpunkt usw.); Programme wurden ohne Anweisungsnamen geschrieben.[16]
- Das Honeywell Datamatic D-1000 (1957) verwendeten die Kleinbuchstabenbuchstaben b, c, d, e, f, und g während die Elbit100 (1967) verwendeten die Großbuchstaben B, C, D, E, F und G Für die Werte 10 bis 15.[12]
- Das Monrobot xi (1960) verwendeten die Buchstaben S, T, U, V, W und X Für die Werte 10 bis 15.[12]
- Das NEC Parametron Computer NEAC 1103 (1960) verwendete die Buchstaben D, G, H, J, K (und möglicherweise V) für Werte 10–15.[17]
- Die Pacific Data Systems 1020 (1964) verwendeten die Buchstaben L, C, A, S, M und D Für die Werte 10 bis 15.[12]
- Neue numerische Symbole und Namen wurden in der eingeführt Bibi-Binär Notation von BOBY LAPOINTE 1968 wurde diese Notation nicht sehr beliebt.
- Bruce Alan Martin von Nationales Labor von Brookhaven betrachtete die Wahl von a - f "lächerlich". In einem Brief an den Herausgeber von 1968 CACMEr schlug einen völlig neuen Satz von Symbolen vor, die auf den Bit -Standorten basieren, die nicht viel Akzeptanz erlangten.[18]
- R. O. Whitaker von Rowco Engineering Co. schlug 1972 eine dreieckige Schriftart vor, die "direkter binärer Lesart" ermöglicht, um "sowohl Eingaben als auch Ausgabe von Computern zu ermöglichen, ohne dass Codierungsmatrizen respektieren". [19]
- Etwas Siebensegmentanzeige Decoder -Chips (d. H. 74LS47) zeigen eine unerwartete Ausgabe, da die Logik nur zur korrekten Erzeugung von 0–9 erstellt wurde.[20]
Verbale und digitale Darstellungen
Da es keine traditionellen Ziffern gab, die die Mengen von zehn bis fünfzehn darstellen, wurden alphabetische Buchstaben als Ersatz wieder eingestuft. In den meisten europäischen Sprachen fehlen nicht dezimalbasierte Wörter für einige der elf bis fünfzehn Ziffern. Einige Leute lesen Hexadezimalnummern nach Ziffer, wie eine Telefonnummer oder verwenden die NATO -phonetisches Alphabet, das Gemeinsamer Armee/Marine -phonetisches Alphabet, oder ähnlich ad hoc System. Nach der Annahme von Hexadezimal unter IBM System/360 Programmierer, Magnuson (1968)[21] schlug einen Aussprachehandbuch vor, der den Buchstaben von Hexadezimal kurze Namen gab - zum Beispiel "A" wurde "Ann", B "Bette", C "Chris", E.[21] Ein weiteres Benennungssystem wurde von Babb (2015) erarbeitet, basierend auf einem Witz in Silicon Valley.[22] Ein weiteres Namenssystem wurde online von Rogers (2007) veröffentlicht[23] Das versucht, die verbale Darstellung in jedem Fall unterscheidbar zu machen, auch wenn die tatsächliche Zahl nicht die Zahlen A - F enthält. Beispiele sind in den folgenden Tabellen aufgeführt.
Andere haben vorgeschlagen, die Konventionen des verbalen Morsecode zu verwenden, um vier Bit-Hexadezimalstellen mit "DIT" und "DAH" auszudrücken, die Null bzw. eines darstellen, so dass "0000" als "dit-dit-dit-dit" (dit-dit-dit "geäußert wird ((dit" ((dit-dit-dit "(dit-dit-dit" (( ....), dah-dit-dit-dah (-..-) die Ziffer mit einem Wert von neun und "Dah-dah-dah-dah" (----) die Hexadezimal-Ziffer für Dezimalzahl fünfzehn.
Zählsysteme auf Ziffern wurden sowohl für binär als auch für hexadezimal entwickelt. Arthur C. Clarke Vorgeschlagen, jeden Finger als Ein/Aus -Bit zu verwenden, sodass das Fingerzählen von Null bis 1023 ermöglicht wird10 auf zehn Finger.[24] Ein weiteres System zum Zählen bis zu FF16 (25510) wird rechts illustriert.
Nummer | Aussprache |
---|---|
A | Ann |
B | Wette |
C | Chris |
D | Punkt |
E | Ernest |
F | Frost |
1a | Annteen |
A0 | Jungen |
5b | Fünfzig-betete |
A01c | Annty -Christene |
1AD0 | Annteen Dotty |
3a7d | 3-ann und siebzig Punkt |
Nummer | Aussprache |
---|---|
A | zehn |
B | elf |
C | zwölf |
D | Abtrage |
E | Eptwin |
F | fim |
10 | Tex |
11 | Oneteek |
1f | Fimteek |
50 | fünftek |
C0 | Zwölftek |
100 | Hundrek |
1000 | thousek |
3e | Thirtek-apewin |
E1 | eptk-eins |
C4a | Zwölf Hundrek-Fourtek-Ten |
1743 | Ein-Haus-Seven- -Hundrek-Fourtk-Drei |
Zeichen
Das hexadezimale System kann negative Zahlen genauso ausdrücken wie bei Dezimal: –2a, um –42 darzustellen10 usw.
Hexadezimal kann auch verwendet werden, um die genauen Bitmuster auszudrücken, die in der verwendet werden Prozessorso kann eine Abfolge von hexadezimalen Ziffern a darstellen unterzeichnet oder sogar a Schwimmpunkt Wert. Auf diese Weise die negative Zahl –4210 kann in einem 32-Bit als FFFF FFD6 geschrieben werden CPU -Register (in Zwei-Komplement) als C228 0000 in einem 32-Bit FPU Register oder C045 0000 0000 0000 in einem 64-Bit-FPU-Register (in der IEEE Floating-Punkt-Standard).
Hexadezimale exponentielle Notation
So wie Dezimalzahlen in dargestellt werden können Exponentielle NotationAuch auch können Hexadezimalzahlen. Nach Übereinkommen der Brief P (oder p, für "Macht") darstellt Zeiten zwei, die bis zur Macht von erhoben wurden, wohingegen E (oder e) dient einem ähnlichen Dezimalzweck als Teil der E Notation. Die Nummer nach der P ist Dezimal und repräsentiert die binär Exponent. Erhöhen Sie den Exponenten um 1 Multiplizieren mit 2, nicht 16. 10,0p1 = 8,0p2 = 4,0p3 = 2,0p4 = 1,0p5. Normalerweise wird die Zahl so normalisiert, dass die führende hexadezimale Ziffer 1 beträgt (es sei denn, der Wert beträgt genau 0).
Beispiel: 1.3dep42 repräsentiert 1.3de16× 24210.
Hexadezimale exponentielle Notation ist von der erforderlich IEEE 754-2008 Binärer Gleitkomma-Standard. Diese Notation kann für Floating-Punkt-Literale in der verwendet werden C99 Ausgabe der C Programmiersprache.[25] Verwendung der %a oder %EIN Konvertierungsspezifizierer, diese Notation kann durch Implementierungen der Implementierungen erzeugt werden printf Funktionsfamilie nach der C99 -Spezifikation[26] undEinzel -Unix -Spezifikation (IEEE STD 1003.1) Posix Standard.[27]
Wandlung
Binärumwandlung
Die meisten Computer manipulieren Binärdaten, aber es ist schwierig für Menschen, mit einer großen Anzahl von Ziffern für selbst eine relativ kleine Binärzahl zu arbeiten. Obwohl die meisten Menschen mit dem Basis 10 -System vertraut sind, ist es viel einfacher, binär bis hexadezimal zuzuordnen als für Dezimalzahl, da jede hexadezimale Ziffer eine ganze Reihe von Bits (410). Dieses Beispiel wandelt 1111 um2 bis Basis zehn. Seit jeder Position In einer binären Ziffer kann entweder eine 1 oder einen 0 enthalten, der Wert kann leicht durch seine Position von rechts bestimmt werden:
- 00012 = 110
- 00102 = 210
- 01002 = 410
- 10002 = 810
Deswegen:
11112 | = 810 + 410 + 210 + 110 |
= 1510 |
Mit wenig Übung, Mapping 11112 zu f16 In einem Schritt wird einfach: Siehe Tabelle in schriftliche Darstellung. Der Vorteil der Verwendung von Hexadezimal und nicht der Dezimalzahl nimmt mit der Größe der Anzahl schnell zu. Wenn die Zahl groß wird, ist die Umwandlung in Dezimalzahl sehr langweilig. Bei der Zuordnung von Hexadezimal ist es jedoch trivial, die binäre Zeichenfolge als 4-stellige Gruppen zu betrachten und jeweils einer einzelnen hexadezimalen Ziffer zuzuordnen.[28]
Dieses Beispiel zeigt die Konvertierung einer binären Zahl in Dezimalzahl, das Zuordnen jeder Ziffer auf den Dezimalwert und das Hinzufügen der Ergebnisse.
(010111101011010010)2 | = 26214410 + 6553610 + 3276810 + 1638410 + 819210 + 204810 + 51210 + 25610 + 6410 + 1610 + 210 |
= 38792210 |
Vergleichen Sie dies mit der Konvertierung in Hexadezimal, wobei jede Gruppe von vier Ziffern unabhängig betrachtet und direkt konvertiert werden kann:
(010111101011010010)2 | = | 0101 | 1110 | 1011 | 0101 | 00102 |
= | 5 | E | B | 5 | 216 | |
= | 5EB5216 |
Die Umwandlung von Hexadezimal in Binär ist gleichermaßen direkt.[28]
Andere einfache Conversions
Obwohl Quartär (Basis 4) wird wenig verwendet, es kann leicht zu und von hexadezimal oder binär konvertiert werden. Jede hexadezimale Ziffer entspricht einem Paar quaternärer Ziffern und jede quaternäre Ziffer entspricht einem Paar binärer Ziffern. Im obigen Beispiel 5 e b 5 216 = 11 32 23 11 024.
Das Oktal (Basis 8) System kann auch mit relativer Leichtigkeit konvertiert werden, wenn auch nicht ganz so trivial wie bei den Basen 2 und 4. Jede Oktalzelle entspricht nicht vier Ziffern und nicht vier. Daher können wir zwischen Oktal und Hexadezimal über eine mittlere Umwandlung in Binärum konvertieren, gefolgt von der Neugruppe der binären Ziffern in Gruppen von drei oder vier.
Divisions-Remainer in Quellbasis
Wie bei allen Basen gibt es ein einfaches Algorithmus zur Konvertierung einer Darstellung einer Zahl in Hexadezimal durch Ganzzahl -Division und Restoperationen in der Quellbasis. Theoretisch ist dies von jeder Basis möglich, aber für die meisten Menschen kann nur bei den meisten Computern nur binäre (was von weitaus effizienteren Methoden konvertiert werden kann) mit dieser Methode leicht behandelt werden.
Sei D die Zahl sein, die in Hexadezimal und der Serie H dargestellt werden sollihi - 1...h2h1 Seien Sie die hexadezimalen Ziffern, die die Zahl darstellen.
- i ← 1
- hi ← D Mod 16
- d ← (d - hi) / 16
- Wenn d = 0 (Rückgabeserie Hi) sonst inkrementieren ich und gehe zu Schritt 2
"16" kann durch jede andere Basis ersetzt werden, die gewünscht werden kann.
Das Folgende ist a JavaScript Implementierung des obigen Algorithmus zur Konvertierung einer beliebigen Zahl in eine Hexadezimal in der String -Darstellung. Sein Zweck ist es, den obigen Algorithmus zu veranschaulichen. Um ernsthaft mit Daten zu arbeiten, ist es jedoch viel ratsamer, mit der Arbeit zu arbeiten Bitgewise -Operatoren.
Funktion Tohex(d) { var r = d % 16; wenn (d - r == 0) { Rückkehr Tochar(r); } Rückkehr Tohex((d - r) / 16) + Tochar(r); } Funktion Tochar(n) { Const Alpha = "0123456789abcdef"; Rückkehr Alpha.Charat(n); }
Konvertierung durch Addition und Multiplikation
Es ist auch möglich, die Konvertierung durch die Zuweisung jedes Ortes in der Quellbasis durch die hexadezimale Darstellung seines Ortswerts zuzuweisen - bevor sie eine Multiplikation durchführen und die endgültige Darstellung erhalten. Um beispielsweise die Nummer B3AD in Dezimalheit umzuwandeln, kann man die Hexadezimalzahl in ihre Ziffern aufteilen: B (11)10), 3 (310), A (1010) und d (1310) und erhalten dann das Endergebnis, indem Sie jede Dezimalpräparation mit 16 multiplizierenp (p Die entsprechende hex -Ziffer -Position ist von rechts nach links, beginnend mit 0). In diesem Fall haben wir das:
B3ad = (11 × 163) + (3 × 162) + (10 × 161) + (13 × 160)
Das ist 45997 in Basis 10.
Tools für die Konvertierung
Viele Computersysteme bieten ein Taschenrechner -Dienstprogramm, das in der Lage ist, um Konvertierungen zwischen den verschiedenen Radices zu führen, einschließlich Hexadezimal.
Im Microsoft Windows, das Taschenrechner Das Dienstprogramm kann auf den wissenschaftlichen Modus (in einigen Versionen als Programmiermodus bezeichnet) eingestellt werden, was Conversions zwischen Radix 16 (hexadezimal), 10 (Dezimal), 8 (hexadezimal) ermöglicht (Dezimal), 8 (Oktal) und 2 (binär), die von Programmierern am häufigsten verwendeten Basen. Im wissenschaftlichen Modus der On-Screen numerische Tastatur Enthält die hexadezimalen Ziffern a bis f, die aktiv sind, wenn "hex" ausgewählt wird. Im Hex -Modus unterstützt der Windows -Rechner jedoch nur Ganzzahlen.
Elementararithmetik
Elementare Operationen wie Addition, Subtraktion, Multiplikation und Aufteilung können indirekt durch Umwandlung in eine Alternative durchgeführt werden Ziffernungssystem, wie das häufig verwendete Dezimalsystem oder das binäre System, bei dem jede Hex-Ziffer vier binären Ziffern entspricht.
Alternativ kann man auch Elementarvorgänge direkt innerhalb des HEX -Systems selbst ausführen - indem man sich auf seine Additions-/Multiplikationstabellen und seine entsprechenden Standardalgorithmen wie z. Lange Division und der traditionelle Subtraktionsalgorithmus.
Reale Nummern
Rationale Zahlen
Wie bei anderen Zifferungssystemen kann das hexadezimale System verwendet werden, um darzustellen Rationale Zahlen, obwohl Erweiterungen wiederholen sind seit sechzehn (1016) hat nur einen einzigen Primfaktor; zwei.
Für jede Basis entspricht 0,1 (oder "1/10") immer einer geteilten durch die Darstellung dieses Basiswerts in seinem eigenen Zahlensystem. So ob eine durch zwei für zwei für binär oder eine durch sechzehn für hexadezimal trennen, beide Fraktionen werden als geschrieben als 0,1
. Weil der Radix 16 a ist Perfektes Viereck (42), in hexadezimal ausgedrückte Brüche haben viel häufiger eine ungerade Zeit als Dezimaler, und es gibt keine zyklische Zahlen (außer triviale einstellige Ziffern). Es werden wiederkehrende Ziffern ausgestellt, wenn der Nenner in niedrigster Begriff a hat Hauptfaktor nicht im Radix gefunden; Bei der Verwendung von Hexadezimalnotation alle Fraktionen mit Nennern, die nicht a sind Kraft von zwei führen zu einer unendlichen Reihe von wiederkehrenden Ziffern (wie Drittel und fünften). Dies macht hexadezimale (und binäre) weniger bequem als Dezimal Für die Darstellung rationaler Zahlen, da ein größerer Anteil außerhalb des Bereichs der endlichen Darstellung liegt.
Alle rationalen Zahlen, die endlich in hexadezimal repräsentierbar sind Duodecimal und sexagesimal: Das heißt, jede Hexadezimalzahl mit einer begrenzten Anzahl von Ziffern hat auch eine begrenzte Anzahl von Ziffern, wenn sie in diesen anderen Basen ausgedrückt werden. Umgekehrt kann nur ein Bruchteil der in den letzteren Basen endgültigen Bruchteil in Hexadezimal endgültig dargestellt werden. Beispielsweise entspricht Dezimalzahl 0,1 der unendlichen wiederkehrenden Darstellung 0,19 in Hexadezimal. Hexadezimal ist jedoch effizienter als Duodecimal und Sexagesimal für die Darstellung von Brüchen mit zwei Kräften von zwei im Nenner. Zum Beispiel 0,062510 (Ein Sechzehnte) entspricht 0,116, 0,0912und 0; 3,4560.
n | Dezimal Hauptfaktoren von: Basis, B = 10: 2, 5; B - 1 = 9: 3 | Hexadezimal Hauptfaktoren von: Basis, b = 1610 = 10: 2; B - 1 = 1510 = F: 3, 5 | ||||
---|---|---|---|---|---|---|
Gegenseitig | Hauptfaktoren | Positionsdarstellung (hexadezimal) | Positionsdarstellung (Dezimaler zum Vergleich) | Hauptfaktoren | Gegenseitig | |
2 | 1/2 | 2 | 0,8 | 0,5 | 2 | 1/2 |
3 | 1/3 | 3 | 0.5555 ... = 0.5 | 0.3333 ... = 0.3 | 3 | 1/3 |
4 | 1/4 | 2 | 0,4 | 0,25 | 2 | 1/4 |
5 | 1/5 | 5 | 0.3 | 0,2 | 5 | 1/5 |
6 | 1/6 | 2, 3 | 0,2A | 0,16 | 2, 3 | 1/6 |
7 | 1/7 | 7 | 0.249 | 0.142857 | 7 | 1/7 |
8 | 1/8 | 2 | 0,2 | 0,125 | 2 | 1/8 |
9 | 1/9 | 3 | 0.1c7 | 0.1 | 3 | 1/9 |
10 | 1/10 | 2, 5 | 0,19 | 0,1 | 2, 5 | 1/a |
11 | 1/11 | 11 | 0.1745d | 0.09 | B | 1/b |
12 | 1/12 | 2, 3 | 0,15 | 0,083 | 2, 3 | 1/c |
13 | 1/13 | 13 | 0.13b | 0.076923 | D | 1/d |
14 | 1/14 | 2, 7 | 0,1249 | 0,0714285 | 2, 7 | 1/e |
15 | 1/15 | 3, 5 | 0.1 | 0,06 | 3, 5 | 1/f |
16 | 1/16 | 2 | 0,1 | 0,0625 | 2 | 1/10 |
17 | 1/17 | 17 | 0.0f | 0.0588235294117647 | 11 | 1/11 |
18 | 1/18 | 2, 3 | 0,0E38 | 0,05 | 2, 3 | 1/12 |
19 | 1/19 | 19 | 0.0d79435e5 | 0.052631578947368421 | 13 | 1/13 |
20 | 1/20 | 2, 5 | 0,0C | 0,05 | 2, 5 | 1/14 |
21 | 1/21 | 3, 7 | 0.0c3 | 0.047619 | 3, 7 | 1/15 |
22 | 1/22 | 2, 11 | 0,0Ba2e8 | 0,045 | 2, B | 1/16 |
23 | 1/23 | 23 | 0.0B21642C859 | 0.0434782608695652173913 | 17 | 1/17 |
24 | 1/24 | 2, 3 | 0,0A | 0,0416 | 2, 3 | 1/18 |
25 | 1/25 | 5 | 0.0a3d7 | 0,04 | 5 | 1/19 |
26 | 1/26 | 2, 13 | 0,09d8 | 0,0384615 | 2, D | 1/1a |
27 | 1/27 | 3 | 0.097B425ED | 0.037 | 3 | 1/1b |
28 | 1/28 | 2, 7 | 0,0924 | 0,03571428 | 2, 7 | 1/1c |
29 | 1/29 | 29 | 0.08D3DCB | 0.0344827586206896551724137931 | 1d | 1/1d |
30 | 1/30 | 2, 3, 5 | 0,08 | 0,03 | 2, 3, 5 | 1/1e |
31 | 1/31 | 31 | 0.08421 | 0.032258064516129 | 1f | 1/1f |
32 | 1/32 | 2 | 0,08 | 0,03125 | 2 | 1/20 |
33 | 1/33 | 3, 11 | 0.07c1f | 0.03 | 3, B | 1/21 |
34 | 1/34 | 2, 17 | 0,078 | 0,02941176470588235 | 2, 11 | 1/22 |
35 | 1/35 | 5, 7 | 0.075 | 0,0285714 | 5, 7 | 1/23 |
36 | 1/36 | 2, 3 | 0,071c | 0,027 | 2, 3 | 1/24 |
Irrationale Zahlen
Die folgende Tabelle gibt die Erweiterungen einiger gemeinsamer irrationale Zahlen in Dezimal und Hexadezimal.
Nummer | Positionsdarstellung | |
---|---|---|
Dezimal | Hexadezimal | |
√2 (die Länge der Länge der Diagonale einer Einheit Quadrat)) | 1.414213562373095048... | 1.6a09e667f3bcd ... |
√3 (die Länge der Diagonale einer Einheit Würfel)) | 1.732050807568877293... | 1.BB67AE8584CAA ... |
√5 (die Länge der Länge der Diagonale einer 1 × 2 Rechteck)) | 2.236067977499789696... | 2.3c6ef372fe95 ... |
φ (Phi, die Goldener Schnitt = (1+√5)/2)) | 1.618033988749894848... | 1.9e3779b97f4a ... |
π (Pi, das Verhältnis von Umfang zu Durchmesser eines Kreises) | 3.141592653589793238462643 383279502884197169399375105... | 3.243f6a8885a308d313198a2e0 3707344a4093822299f31d008 ... |
e (die Basis der Basis der Natürlicher Logarithmus)) | 2.718281828459045235... | 2.B7E151628AED2A6B ... |
τ (das Thue -Morse konstant)) | 0,412454033640107597... | 0,6996 9669 9669 6996 ... |
γ (der begrenzende Unterschied zwischen den Harmonische Serie und der natürliche Logarithmus) | 0,577215664901532860... | 0,93C467E37DB0C7A4D1B ... |
Kräfte
Kräfte von zwei zwei haben sehr einfache Erweiterungen in Hexadezimal. Die ersten sechzehn Mächte von zwei sind unten gezeigt.
2x | Wert | Wert (dezimal) |
---|---|---|
20 | 1 | 1 |
21 | 2 | 2 |
22 | 4 | 4 |
23 | 8 | 8 |
24 | 10verhexen | 16dez |
25 | 20verhexen | 32dez |
26 | 40verhexen | 64dez |
27 | 80verhexen | 128dez |
28 | 100verhexen | 256dez |
29 | 200verhexen | 512dez |
2A (210dez) | 400verhexen | 1024dez |
2B (211dez) | 800verhexen | 2048dez |
2C (212dez) | 1000verhexen | 4096dez |
2D (213dez) | 2000verhexen | 8192dez |
2E (214dez) | 4000verhexen | 16.384dez |
2F (215dez) | 8000verhexen | 32.768dez |
210 (216dez) | 10000verhexen | 65.536dez |
Kulturelle Geschichte
Das traditionelle Chinesische Messeinheiten waren Basis-16. Zum Beispiel ist ein Jīn (斤) im alten System sechzehn Taels. Das Suanpan (Chinesisch Abakus) kann verwendet werden, um hexadezimale Berechnungen wie Ergänzungen und Subtraktionen durchzuführen.[29]
Wie mit dem Duodecimal System, es gab gelegentlich Versuche, Hexadezimal als bevorzugtes Zifferungssystem zu fördern. Diese Versuche schlagen häufig spezifische Aussprache und Symbole für die einzelnen Ziffern vor.[30] Einige Vorschläge vereinen Standardmaßnahmen so, dass sie mehrfach 16 sind.[31][32] Ein früh solcher Vorschlag wurde von vorgeschlagen John W. Nystrom in Projekt eines neuen Systems von Arithmetik, Gewicht, Mess und Münzen: Vorgeschlagen, das Tonsystem bezeichnet zu werden, mit sechzehn bis zur Basis, veröffentlicht 1862.[33] Nystrom unter anderem vorgeschlagen Hexadezimalzeit, die einen Tag um 16 Uhr unterteilt, damit es 16 "Stunden" gibt (oder "10 Tims", ausgesprochen Tontim) in einem Tag.[34]
Das Wort hexadezimal wird erstmals 1952 aufgezeichnet.[35] es ist makkaronisch in dem Sinne, dass es sich kombiniert griechisch ἕξ (hex) "sechs" mit Latinieren -Dezimal. Die All-Latin-Alternative sexadezimal (Vergleichen Sie das Wort sexagesimal für Basis 60) ist älter und sieht zumindest gelegentlich aus dem späten 19. Jahrhundert verwendet.[36] Es wird in den 1950er Jahren in immer noch verwendet Bendix Dokumentation. Schwartzman (1994) argumentiert, dass die Verwendung von sexadezimal kann wegen seiner suggestiven Abkürzung vermieden werden Sex.[37] Viele westliche Sprachen seit den 1960er Jahren haben Begriffe übernommen, die in der Bildung gleichbedeutend sind zu hexadezimal (z. B. Französisch hexadezimalItalienisch EsadecimaleRumänisch HexazecimalSerbisch хексадеци & unktionusw.), aber andere haben Begriffe eingeführt, die einheimische Wörter für "sechzehn" ersetzen (z. Sextándakerfi, Russisch ше hätte etc.)
Terminologie und Notation wurden erst Ende der 1960er Jahre beigelegt.Donald Knuth 1969 argumentierte der etymologisch korrekte Begriff Senidenoder möglicherweise sedeninarisch, ein latinierter Begriff, der "vermitteln soll" von 16 "gruppiert" binär, ternär und Quartär usw. Laut Knuths Argument die richtigen Begriffe für Dezimal und Oktal Arithmetik wäre Denor und Oktonar, beziehungsweise.[38] Alfred B. Taylor verwendet Seniden Mitte des 19. Jahrhunderts arbeitete er an alternativen Zahlenbasen, obwohl er Basis 16 wegen seiner "ungewöhnlichen Anzahl von Ziffern" ablehnte.[39][40]
Die nunströmende Notation unter Verwendung der Buchstaben A bis F etabliert sich nach 1966 als De-facto-Standard nach der Veröffentlichung der Veröffentlichung der Forran IV Handbuch für IBM System/360, was (im Gegensatz zu früheren Varianten von FORTRAN) einen Standard für die Eingabe von Hexadezimalkonstanten erkennt.[41] Wie oben erwähnt, wurden alternative Notationen von verwendet von NEC (1960) und The Pacific Data Systems 1020 (1964). Der von IBM übernommene Standard scheint von 1968 weit verbreitet geworden zu sein, als Bruce Alan Martin in seinem Brief an den Herausgeber des CACM beschwert das
- "Mit der lächerlichen Auswahl der Buchstaben A, B, C, D, E, F als hexadezimale Zahlensymbole, die bereits störende Probleme bei der Unterscheidung von Oktal- (oder Hex-) Nummern aus Dezimalnummern (oder Variablennamen) ergänzen von unseren Zahlensymbolen. Dies hätte geschehen sollen, bevor schlechte Entscheidungen in einen De -facto -Standard gelangen! "
Martins Argument war, dass die Verwendung von Ziffern 0 bis 9 in nicht-zimalen Zahlen "uns ein Basis-Ten-Place-Wert-Schema impliziert": "Warum nicht völlig neue Symbole (und Namen) für die sieben oder fünfzehn ungleich Null verwenden, die in Oktal oder Hex benötigt werden, verwenden Sogar die Verwendung der Buchstaben A bis P wäre eine Verbesserung, aber völlig neue Symbole könnten die binäre Natur des Systems widerspiegeln. "[18] Er argumentierte auch, dass "die Wiederverwendung alphabetischer Buchstaben für numerische Ziffern einen gigantischen Rückschritt aus der Erfindung verschiedener, nicht alphabetischer Glyphen für Ziffern vor sechzehn Jahrhunderten darstellen" (als Brahmi Ziffernund später in einem Hindu -arabisches Ziffernungssystem) und das die jüngsten ASCII Standards (ASA X3.4-1963 und USAas x3.4-1968) "hätten sechs Code-Tabellenpositionen erhalten haben sollen, die den zehn Dezimalstellen folgen-anstatt diese mit Interpunktionszeichen nicht zu füllen" (":; <=>?") Dies könnte anderswo unter den 128 verfügbaren Positionen platziert worden sein.
Base16 (Übertragungscodierung)
Basis16 (als Eigenname ohne Platz) kann sich auch auf a beziehen Binär bis Textcodierung Zugehörigkeit zur gleichen Familie wie Basis32, Basis58, und Basis64.
In diesem Fall werden Daten in 4-Bit-Sequenzen unterteilt, und jeder Wert (zwischen 0 und 15) wird unter Verwendung von 16 Symbolen aus dem codiert ASCII Zeichensatz. Obwohl 16 Symbole aus dem ASCII -Zeichensatz verwendet werden können, werden in der Praxis immer gewählt Um sich an die Standardschreibschreibschreibe für Hexadezimalzahlen auszurichten.
Es gibt mehrere Vorteile von Base16 Codierung:
- Die meisten Programmiersprachen verfügen bereits über Einrichtungen, um hexadezimal von Ascii-codiert zu analysieren
- Wenn Sie genau ein halbes Byte sind, ist 4-Bit leichter zu verarbeiten als die 5 oder 6 Bit von Base32 bzw. Base64
- Die Symbole 0–9 und A-F sind in hexadezimaler Notation universell, so dass es auf einen Blick leicht verstanden werden kann
- Viele CPU-Architekturen haben spezielle Anweisungen, die den Zugang zu einer halben Byte ermöglichen (auch bekannt als ""knabbern"), was es effizienter in Hardware als Base32 und Base64 macht
Die Hauptnachteile der Basis16 -Codierung sind:
- Die Space-Effizienz beträgt nur 50%, da jeder 4-Bit-Wert aus den ursprünglichen Daten als 8-Bit-Byte codiert wird. Im Gegensatz dazu haben Base32- und Base64 -Codierungen eine Raumeffizienz von 63% bzw. 75%.
- Mögliche zusätzliche Komplexität, sowohl Großbuchstaben als auch Kleinbuchstaben akzeptieren zu müssen
Die Unterstützung für die Basis16 -Codierung ist im modernen Computer allgegenwärtig. Es ist die Grundlage für die W3c Standard für URL -Prozent -Codierung, wo ein Charakter durch ein prozentuales Zeichen "%" und seine Basis16-kodierte Form ersetzt wird. Die meisten modernen Programmiersprachen enthalten direkt die Unterstützung für die Formatierung und Parsen von Basis16-kodierter Zahlen.
Siehe auch
- Basis32, Basis64 (Inhaltskodierschemata)
- Hexadezimalzeit
- IBM Hexadezimal-Schwimmpunkt
- Hex -Editor
- Hex -Dump
- Bailey -Borwein -Poloufe -Formel (BBP)
- Hexspeak
Verweise
- ^ Knuth, Donald Ervin (1986). Das Texbook. Duane Bibby. Lesen, Messe. ISBN 0-201-13447-0. OCLC 12973034.
- ^ Die Saite
"\ x1b [0m \ x1b [25; 1H"
Gibt die Zeichensequenz an Esc [0 m Esc [2 5; 1 H nul. Dies sind die Escape -Sequenzen, die auf einem verwendet werden ANSI -Terminal Das setzt den Zeichensatz und die Farbe zurück und bewegen den Cursor dann in Zeile 25. - ^ "Der Unicode Standard, Version 7" (PDF). Unicode. Archiviert (PDF) vom Original am 2016-03-03. Abgerufen 2018-10-28.
- ^ "Hexadezimal -Webfarben erklärt". Archiviert von das Original am 2006-04-22. Abgerufen 2006-01-11.
- ^ "ISO-8859-1 (ISO Latin 1) Charaktercodierung". www.ic.unicamp.br. Archiviert vom Original am 2019-06-29. Abgerufen 2019-06-26.
- ^ "Modula-2-Wortschatz und Darstellung". Modula –2. Archiviert vom Original am 2015-12-13. Abgerufen 2015-11-01.
- ^ "Eine Einführung in VHDL -Datentypen". FPGA -Tutorial. 2020-05-10. Archiviert vom Original am 2020-08-23. Abgerufen 2020-08-21.
- ^ "* Read-Base* Variable in Common Lisp". Clhs. Archiviert vom Original am 2016-02-03. Abgerufen 2015-01-10.
- ^ "* Print-Base* Variable in Common Lisp". Clhs. Archiviert vom Original am 2014-12-26. Abgerufen 2015-01-10.
- ^ MSX kommt - Teil 2: Inside MSX Archiviert 2010-11-24 bei der Wayback -Maschine Berechnen!, Ausgabe 56, Januar 1985, p. 52
- ^ BBC -Basisprogramme sind nicht vollständig tragbar für Microsoft Basic (ohne Änderung), da letztere nimmt
&
Präfix Oktal Werte. (Microsoft Basic verwendet hauptsächlich&Ö
zum Präfix von Oktal und es verwendet es&H
Zum Präfix von Hexadezimal, aber das Ampers und allein liefert eine Standardinterpretation als Oktalpräfix. - ^ a b c d e f g Savard, John J. G. (2018) [2005]. "Computerarithmetik". QuadiBloc. Die frühen Tage von Hexadezimal. Archiviert vom Original am 2018-07-16. Abgerufen 2018-07-16.
- ^ "2.1.3 sexadezimale Notation". Referenzhandbuch des G15D -Programmierers (PDF). Los Angeles, CA, USA: Bendix Computer, Abteilung von Bendix Aviation Corporation. p. 4. Archiviert (PDF) vom Original am 2017-06-01. Abgerufen 2017-06-01.
Diese Basis wird verwendet, weil eine Gruppe von vier Bits eine von 16 verschiedenen Zahlen darstellen kann (Null bis fünfzehn). Indem wir jeder dieser Kombinationen ein Symbol zuweisen, kommen wir zu einer Notation namens Sexadecimal (normalerweise hex im Gespräch, weil niemand Sex abkürzen möchte). Die Symbole in der sexadezimalen Sprache sind die zehn Dezimalstellen und auf der G-15-Schreibmaschine die Buchstaben U, V, W, X, Y und Z. Dies sind willkürliche Markierungen; Andere Computer können für diese letzten sechs Ziffern unterschiedliche Alphabetzeichen verwenden.
- ^ Gill, S.; Neagher, R. E.; Müller, D. E.; Nash, J. P.; Robertson, J. E.; Shapin, T.; Whesler, D. J. (1956-09-01). Nash, J. P. (Hrsg.). "ILLIAC -Programmierung - Ein Leitfaden zur Erstellung von Problemen für die Lösung durch den digitalen Computer der Universität von Illinois" (PDF). BitSavers.org (Viertes Druck. Überarbeitet und korrigiert.). Urbana, Illinois, USA: Digital Computer Laboratory, Graduate College, Universität von Illinois. S. 3–2. Archiviert (PDF) vom Original am 2017-05-31. Abgerufen 2014-12-18.
- ^ Royal Precision Electronic Computer LGP - 30 Programmierhandbuch. Port Chester, New York: Royal McBee Corporation. April 1957. Archiviert vom Original am 2017-05-31. Abgerufen 2017-05-31. (Nb. Diese etwas seltsame Sequenz stammt aus den nächsten sechs sequentiellen numerischen Tastaturcodes in der LGP-306-Bit-Zeichencode.)
- ^ Manthey, Steffen; Leibrandt, Klaus (2002-07-02). "Die Perm und Algol" (PDF) (auf Deutsch). Abgerufen 2018-05-19.
- ^ NEC Parametron Digital Computer Typ NEAC-1103 (PDF). Tokyo, Japan: Nippon Electric Company Ltd. 1960. Katze. Nr. 3405-C. Archiviert (PDF) vom Original am 2017-05-31. Abgerufen 2017-05-31.
- ^ a b c Martin, Bruce Alan (Oktober 1968). "Briefe an den Herausgeber: Über binäre Notation". Kommunikation der ACM. Associated Universities Inc. 11 (10): 658. doi:10.1145/364096.364107. S2CID 28248410.
- ^ Whitaker, R. O. (Januar 1972). "Briefe an den Herausgeber: Mehr über Man/Maschine". DataMation. p. 103.
- ^ "Archivierte Kopie". Archiviert (PDF) vom Original am 2021-10-20. Abgerufen 2021-09-15.
{{}}
: CS1 Wartung: Archiviertes Kopie als Titel (Link) - ^ a b c Magnuson, Robert A. (Januar 1968). "Ein hexadezimaler Aussprachehandbuch". DataMation. Vol. 14, nein. 1. p. 45.
- ^ Babb, Tim (2015). "Wie man hexadezimal ausspricht". Bzarg. Archiviert vom Original am 2020-11-11. Abgerufen 2021-01-01.
- ^ a b Rogers, S.R. (2007). "Hexadezimalzahlenwörter". Intuitor. Archiviert vom Original am 2019-09-17. Abgerufen 2019-08-26.
- ^ Clarke, Arthur; Pohl, Frederik (2008). Der letzte Satz. Ballantine. p.91. ISBN 978-0007289981.
- ^ "ISO/IEC 9899: 1999 - Programmiersprachen - C". ISO. ISO.org. 2011-12-08. Archiviert vom Original am 2016-10-10. Abgerufen 2014-04-08.
- ^ "Begründung für internationalen Standard - Programmiersprachen - C" (PDF). Offene Standards. 5.10. April 2003. S. 52, 153–154, 159. Archiviert (PDF) vom Original am 2016-06-06. Abgerufen 2010-10-17.
- ^ The IEEE und The Open Group (2013) [2001]. "DPRINTF, FPRINTF, PRINTF, SNPRINTF, SPRINTF - Drucken formatierter Ausgabe". Die offenen Gruppenbasisspezifikationen (Ausgabe 7, IEEE STD 1003.1, 2013 ed.). Archiviert vom Original am 2016-06-21. Abgerufen 2016-06-21.
- ^ a b Mano, M. Morris; Ciletti, Michael D. (2013). Digitales Design - mit einer Einführung in die Verilog HDL (Fünfter Aufl.). Pearson Ausbildung. S. 6, 8–10. ISBN 978-0-13-277420-8.
- ^ "算盤 Hexadezimaler Addition & Subtraktion auf einem chinesischen Abakus". totton.idirect.com. Archiviert vom Original am 2019-07-06. Abgerufen 2019-06-26.
- ^ "Basis 4^2 Hexadezimal -Symbol -Vorschlag". Hauptmech. Archiviert vom Original am 2021-10-20. Abgerufen 2008-09-04.
- ^ "Intuitor Hex -Hauptquartier". Intuitor. Archiviert Aus dem Original am 09.09.201004. Abgerufen 2018-10-28.
- ^ Niemietz, Ricardo Cancho (2003-10-21). "Ein Vorschlag zur Zugabe der sechs hexadezimalen Ziffern (A-F) zu Unicode". DKUUG Standardisierung. Archiviert vom Original am 2011-06-04. Abgerufen 2018-10-28.
- ^ Nystrom, John William (1862). Projekt eines neuen Systems von Arithmetik, Gewicht, Mess und Münzen: Vorgeschlagen, das Tonsystem bezeichnet zu werden, mit sechzehn bis zur Basis. Philadelphia: Lippincott.
- ^ Nystrom (1862), p. 33: "Ausdruckszeit, Zeitwinkel eines Kreises oder Punkte auf dem Kompass, die Einheit Tim sollte als Ganzzahl und Teile davon als festgestellt werden Tonbrüche, als 5 · 86 Tims ist fünfmal und Metonby [*"Sutim und Metonby" John Nystrom gibt versehentlich einen Teil der Nummer in Dezimalnamen an; In Nystroms Ausspracheschema 5 = Su, 8 = ME, 6 = by, C.F. Unifoundry.com Archiviert 2021-05-19 am Wayback -Maschine ]. "
- ^ C. E. Fröhg, Hexadezimalkonvertierungstische, Lund (1952).
- ^ Das Jahrhundertwörterbuch von 1895 hat sexadezimal im allgemeinen Sinne von "in Bezug auf sechzehn". Eine frühe explizite Verwendung von sexadezimal im Sinne der "Verwendung von Base 16" wird auch 1895 in der gefunden Journal der American Geographical Society of New York, Vols. 27–28, p. 197.
- ^ Schwartzman, Steven (1994). Die Wörter der Mathematik: Ein etymologisches Wörterbuch von mathematischen Begriffen, die in Englisch verwendet werden. Die Mathematical Association of America. p. 105. ISBN 0-88385-511-9. S.V. hexadezimal
- ^ Knuth, Donald. (1969). Die Kunst der Computerprogrammierung, Band 2. ISBN0-201-03802-1. (Kapitel 17.)
- ^ Alfred B. Taylor, Bericht über Gewichte und Maßnahmen berichten, Pharmazeutische Vereinigung, 8. jährliche Sitzung, Boston, 15. September 1859. Siehe Seiten und 33 und 41.
- ^ Alfred B. Taylor, "Octonary Numation und ihre Anwendung auf ein System von Gewichten und Maßnahmen", Proc Amer. Phil. SOC. Vol XXIV Archiviert 2016-06-24 bei der Wayback -Maschine, Philadelphia, 1887; Seiten 296–366. Siehe Seiten 317 und 322.
- ^ IBM System/360 Forran IV Sprache Archiviert 2021-05-19 am Wayback -Maschine (1966), p. 13.