Hoppa till innehållet

Hexadecimala talsystemet

Från Wikipedia
(Omdirigerad från Hexadecimala tal)

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

där

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

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

[redigera | redigera wikitext]

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

[redigera | redigera wikitext]

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.

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

  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