Hexadecimala talsystemet

Från Wikipedia
Hoppa till: navigering, sök

Hexadecimala (sedecimala) talsystemet ä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 och F där A motsvarar 1010, B motsvarar 1110, C motsvarar 1210, D motsvarar 1310, E motsvarar 1410 och F motsvarar 1510. När man räknar om ett tal från hexadecimal bas till vanlig decimal bas utnyttjar man att den första positionen, räknat från höger, är värd 1, den andra 16, den tredje 256 (16·16) och så vidare. Att räkna om talet 2D4 i hexadecimal representation till decimal representation görs då så här:

2D416 = 2·162 + 13·161 + 4·160 = 51210 + 20810 + 410 = 72410

Det hexadecimala talsystemet används ofta av datorprogrammerare, 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 motsvarar ett heltaligt antal bitar. Eftersom en hexadecimal siffra alltid motsvaras av 4 bitar (en nibble), så motsvarar två hexadecimala siffror en oktett. Detta är speciellt behändigt vid hårdvarunära programmering, då enskilda bitar behöver manipuleras.

Det hexadecimala talsystemet används ofta även vid angivelse av färger i datorsammanhang, till exempel för webbfärger, det vill säga angivelser av RGB-färger i HTML-kod. Färgerna består här av tre kanaler (röd, grön och blå) på 8 bit var. Varje kanal kan alltså anta 10016 (d.v.s. 25610) olika värden. Totalt blir det 224 olika färger. När färgerna anges sedecimalt, blir exempelvis lila FF00FF16. Den röda och blåa kanalen är satt till max (FF16), och den gröna kanalen är av.

Omräkning från det binära talsystemet[redigera | redigera wikitext]

När man konverterar binära tal till hexadecimala så brukar man ta de 4 sista siffrorna och räkna ut vad värdet är i 10, och fortsätta med nästa 4 från vänster till höger. Exempel: 10010102 så tar man de första 4 siffrorna från höger, alltså: 10102, och räknar ut vad det är i det decimala talsystemet: 1010, 10 = A16. Och fortsätter med nästa fyra siffror, (får man bara en, två eller tre siffror lägger man till en, två eller tre nollor i början) 01002 och konverterar det till hexadecimalt: 416. Sedan tar man alla hexadecimala tal, 4 och A, och lägger ihop dem, 4A16.

Omräkning till det binära talsystemet[redigera | redigera wikitext]

När man konverterar hexadecimala tal till binära så utnyttjar man att varje siffra motsvarar 4 bitar. Talet B316 ska då representeras av åtta bitar, där fyra bitar motsvarar B16 = 1110 och fyra stycken motsvarar 316 = 310. 1110 skrivs binärt som 10112 och 3 skrivs som 00112 (vi fyller ut med nollor för att erhålla 4 bitar). Resultatet blir alltså B316 = 1011 00112.

Ett annat sätt som kan vara lättare, men ta längre tid är att göra samma sak som att konvertera decimalt till hexadecimalt omvänt. A16 = 1010 = 10102

Etymologi[redigera | redigera wikitext]

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. 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.

Omvandlare[redigera | redigera wikitext]

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
Venn A intersect B.svg Matematikportalen – portalen för matematik på svenskspråkiga Wikipedia.