Hexadecimala tal, ofta förkortat till ”hexatal” eller ”hex”, är tal som representeras i basen 16 i motsats till basen 10 som vi använder för vardaglig aritmetik och räkning.
Praktiskt sett innebär detta att varje kolumn i ett tal som skrivs i hexadecimalt format kan representera upp till 16 värden.
I programmering prefixerar vi hexadecimala konstanter med 0x
, med vissa undantag.
Exempel och förklaring
0x1 == 10xF == 150xFF == 2550xFFF == 40950x1000 == 4096
I det vanliga bas 10-systemet representerar varje kolumn stigande potenser av 10, medan varje kolumn i bas 16 representerar stigande potenser av 16.
Som vi ser i tabellexemplet ovan kan vi med en hexadisk siffra representera tal upp till och med 15. Genom att lägga till ytterligare en kolumn kan vi representera tal upp till 255, 4095 med ytterligare en kolumn och så vidare.
Användningar av hexadecimaltal i lågnivåprogrammering
Hexadecimaltal hittade först sitt användningsområde inom datavetenskapen som en bekvämlighetsfunktion.
Data i våra datorer har en lägsta gemensamma lagringsenhet, byte. Varje byte innehåller 8 bitar och kan lagra ett tal mellan 0 och 255 inklusive.
Hexadecimal har den fördelen att den är kortfattad och har väldefinierade gränser.
En enskild byte representeras alltid av två hexadecimala siffror från 0x00 till 0xFF, där den sistnämnda är det största värdet per byte på 255.
De hexadecimala talens korthet och byte-justerade karaktär gör dem till ett populärt val för programvaruingenjörer som arbetar med kodbaser på låg nivå eller inbyggd programvara.
Användningar av hexadecimala tal i JavaScript
JavaScript stöder användningen av hexadecimal notation i stället för alla heltal, men inte decimaltal.
Talet 2514 i hex är till exempel 0x9D2, men det finns inget språkstöd för att representera 25.14 som ett hexatal.
Att använda hexadecimaltal i din kod är ett personligt och stilistiskt val och har ingen effekt på den underliggande logiken som din kod implementerar.
Användning av hexadecimala tal i CSS
CSS har länge använt hexadecimal notation för att representera färgvärden. Tänk på följande selektor:
.my-container { background-color: #112233; color: #FFFFFF;}
Värdet för background-color
är i själva verket tre hexadecimala byte.
CSS-processorn behandlar dessa som tre enskilda byte som representerar rött, grönt och blått.
I vårt exempel motsvarar 11 den röda färgkomponenten, 22 den gröna färgkomponenten och 33 den blå färgkomponenten.
För tillfället finns det inget sätt att definiera en färg med en alfakomponent med hjälp av hexadecimaltal i CSS3. Det föreslagna CSS4 Draft1 innehåller ett förslag om att tillåta en extra byte för att specificera alfavärden.
För tillfället är användningen av standardfunktionen rgba()
det rekommenderade sättet att lägga till ett alfavärde till dina färger.