Hexadecimale tal, ofte forkortet til “hextal” eller “hex”, er tal repræsenteret i base 16 i modsætning til base 10, som vi bruger til daglig aritmetik og tælling.
Praktisk set betyder det, at hver kolonne i et tal skrevet i hexadecimalt format kan repræsentere op til 16 værdier.
I programmering sætter vi med visse undtagelser 0x
foran hexadecimale konstanter.
Eksempler og forklaring
0x1 == 10xF == 150xFF == 2550xFFF == 40950x1000 == 4096
I det almindelige base 10-system repræsenterer hver kolonne stigende potenser af 10, mens hver kolonne i base 16 repræsenterer stigende potenser af 16.
Som det fremgår af tabeleksemplet ovenfor, kan vi med ét hexaciffer repræsentere tal op til og med 15. Hvis vi tilføjer endnu en kolonne, kan vi repræsentere tal op til 255, 4095 med endnu en kolonne og så videre.
Anvendelser af hexadecimaltal i programmering på lavt niveau
Hexadecimaltal fandt først anvendelse i datalogi som en bekvemmelighedsfunktion.
Data i vores computere har en laveste fælles lagerenhed, byte. Hver byte indeholder 8 bit og kan lagre et tal mellem 0 og 255 inklusive.
Hexadecimaltal har den fordel, at det er kortfattet og har veldefinerede grænser.
En enkelt byte repræsenteres altid af to hexadecimale cifre fra 0x00 til 0xFF, hvor sidstnævnte er den største værdi pr. byte på 255.
Den kortfattethed og den bytejusterede karakter af hexadecimale tal gør dem til et populært valg for softwareingeniører, der arbejder med kodebaser på lavt niveau eller indlejret software.
Anvendelser af hexadecimaltal i JavaScript
JavaScript understøtter brugen af hexadecimal notation i stedet for alle heltal, men ikke decimaltal.
Som eksempel er tallet 2514 i hexatal 0x9D2, men der er ingen sprogunderstøttet måde at repræsentere 25 på.14 som et hextal.
Brug af hexadecimaltal i din kode er et personligt og stilistisk valg og har ingen indvirkning på den underliggende logik, som din kode implementerer.
Brug af hexadecimale tal i CSS
CSS har i lang tid brugt hexadecimal notation til at repræsentere farveværdier. Overvej følgende selector:
.my-container { background-color: #112233; color: #FFFFFF;}
Den background-color
s værdi er faktisk tre hex-bytes.
CSS-processoren behandler disse som tre individuelle bytes, der repræsenterer rød, grøn og blå.
I vores eksempel svarer 11 til den røde farvekomponent, 22 svarer til den grønne farvekomponent og 33 til den blå farvekomponent.
Der er i øjeblikket ingen måde fra og med CSS3 at definere en farve med en alfakomponent ved hjælp af hex. Det foreslåede CSS4 Draft1 indeholder et forslag om at tillade en ekstra byte til at angive alfaværdier.
For nu er brugen af standardfunktionen rgba()
den anbefalede måde at tilføje en alfaværdi til dine farver på.