Hexadecimala talsystemet

Hexadecimala talsystemet (sedecimala) är ett talsystem med basen 16. Talsystemet är ett positionssystem med de sexton siffrorna

0 ,   1 ,   2 ,   3 ,   4 ,   5 ,   6 ,   7 ,   8 ,   9 ,   A ,   B ,   C ,   D ,   E ,   F {\displaystyle 0,\ 1,\ 2,\ 3,\ 4,\ 5,\ 6,\ 7,\ 8,\ 9,\ \mathrm {A,\ B,\ C,\ D,\ E,\ F} }

där

A = 10 10 B = 11 10 C = 12 10 D = 13 10 E = 14 10 F = 15 10 {\displaystyle {\begin{aligned}\mathrm {A} &=10_{10}\\\mathrm {B} &=11_{10}\\\mathrm {C} &=12_{10}\\\mathrm {D} &=13_{10}\\\mathrm {E} &=14_{10}\\\mathrm {F} &=15_{10}\end{aligned}}}

Vid omvandling från ett hexadecimalt tal till ett decimalt tal, utnyttjas att den första positionen från höger är 160, den andra 161, den tredje 162 och så vidare. Att konvertera det hexadecimala talet 2D4 till ett decimalt tal görs enligt

2 D 4 16 = ( 2 16 2 + 13 16 1 + 4 16 0 ) 10 = 512 10 + 208 10 + 4 10 = 724 10 {\displaystyle \mathrm {2D4} _{16}=(2\cdot 16^{2}+13\cdot 16^{1}+4\cdot 16^{0})_{10}=512_{10}+208_{10}+4_{10}=724_{10}}
En hexadecimal multiplikationtabell

Det hexadecimala talsystemet används vid datorprogrammering, eftersom det gör det enkelt att gruppera in heltal i enskilda byte och är dessutom enkelt att konvertera till binära tal (datorers inbyggda talsystem) då en hexadecimal siffra alltid motsvaras av 4 bitar (en nibble) och två hexadecimala siffror motsvarar en oktett. Detta är särskilt användbart vid hårdvarunära programmering, då enskilda bitar behöver manipuleras.

Det hexadecimala talsystemet används ofta för att ange färger i datorsammanhang, till exempel för att ange RGB-färger i HTML-kod. De tre grundfärgerna röd, grön och blå, motsvaras här av tre kanaler som vardera styrs av 8 bitar. Varje kanal kan alltså anta 10016 (det vill säga 25610) olika värden, vilket totalt ger 224 olika färger. När färgerna anges hexadecimalt, blir exempelvis lila FF00FF16. De röda och blåa kanalerna är satta till sina maximala värden (FF16) och den gröna kanalen är satt till sitt lägsta värde (0).

Omvandling från det binära talsystemet

För att konvertera binära tal till hexadecimala är det lämpligt att dela in det binära talet i grupper om 4 med början till höger. Varje grupp översätts sedan till motsvarande hexadecimala siffra. Exempel: 10010102 delas upp i grupperna 01002 (utfyllnad med nolla), 10102 och översätts till 4A.

Omvandling till det binära talsystemet

Vid konvertering av hexadecimala tal till binära utnyttjas att varje siffra motsvarar 4 bitar. Talet B316 ska då representeras av åtta bitar, där de fyra mest signifikanta bitarna motsvarar B16 = 10112 och de fyra minst signifikanta bitarna motsvarar 00112 (utfyllnad med nollor för att erhålla 4 bitar).

Resultatet blir alltså B316 = 1011 00112.

Etymologi

Ordet hexadecimal är sammansatt av det grekiska ordet ἕξ (hex) ’sex’ och det latinska decimalis ’decimal’, av decem ’tio’. Det är sålunda ett hybridord som dock har fastnat och alltjämt används allmänt.

Analogt med namngivningen av andra talsystem borde namnet vara sedecimal, av latin sedecim ’sexton’. Det namnet används i viss litteratur, däribland Matematikmaskinnämndens instruktionsbok till Sveriges andra dator BESK från 1958.[1] Den hellatinska sammansättningen sexadecimal, av latin sex ’sex’, har också föreslagits men inte fått fäste[källa behövs]. Språkblandning är inte helt sällsynt inom den vetenskapliga världen, och visst motstånd finns mot prefixet sex(a)- som lätt associeras till sexualitet[källa behövs].

Omvandlare

Bas Namn Tal
2 Binära talsystemet 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
3 Ternära talsystemet 0 1 2 10 11 12 20 21 22 100 101 102 110 111 112 120 121
4 Kvarternära talsystemet 0 1 2 3 10 11 12 13 20 21 22 23 30 31 32 33 100
5 Kvinära talsystemet 0 1 2 3 4 10 11 12 13 14 20 21 22 23 24 30 31
6 Senära talsystemet 0 1 2 3 4 5 10 11 12 13 14 15 20 21 22 23 24
7 Septenära talsystemet 0 1 2 3 4 5 6 10 11 12 13 14 15 16 20 21 22
8 Oktala talsystemet 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
9 Nonära talsystemet 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17
10 Decimala talsystemet 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
11 Undecimala talsystemet 0 1 2 3 4 5 6 7 8 9 A 10 11 12 13 14 15
12 Duodecimala talsystemet 0 1 2 3 4 5 6 7 8 9 A B 10 11 12 13 14
13 Tridecimala talsystemet 0 1 2 3 4 5 6 7 8 9 A B C 10 11 12 13
14 Tetradecimala talsystemet 0 1 2 3 4 5 6 7 8 9 A B C D 10 11 12
15 Pentadecimala talsystemet 0 1 2 3 4 5 6 7 8 9 A B C D E 10 11
16 Hexadecimala talsystemet 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Se även

Referenser

  1. ^ Dahlquist, Germund (1958-05-02). Kodning för BESK (2). Stockholm: Matematikmaskinnämndens arbetsgrupp. Libris 1212080. http://user.it.uu.se/~foy/Documents/Kodning_for_BESK_2a_uppl_1958-05-02_HELA.pdf. Läst 10 november 2021 
v  r
Talsystem
Enda primtalsfaktor
Binära (2) · Ternära (3) · Kvarternära (4) · Kvinära (5) · Septenära (7) · Oktala (8) · Nonära (9) · Undecimala (11) · Tridecimala (13) · Hexadecimala (16) · Pentavigesimala (25) · Septemvigesimala (27) · Duotrigesimala (32) · Tetrasexagesimala (64)
Flera primtalsfaktor
Senära (6) · Decimala (10) · Duodecimala (12) · Tetradecimala (14) · Pentadecimala (15) · Oktodecimala (18) · Vigesimala (20) · Unvigesimala (21) · Tetravigesimala (24) · Hexavigesimala (26) · Oktovigesimala (28) · Trigesimal (30) · Pentatrigesimala (35) · Hexatrigesimala (36) · Sexagesimala (60) · Pentaoktagesimala (85)
Övriga
Unära (1) · Negabinära (-2) · Pentadiska
Talbasen inom parentes