Hexadecimal (on altılık) sistemi açıklamak için önce genel sayı sistemi mantığını, sonra renk kodlarını görselleştireyim.
Önce temel mantık:
Onluk sistemde 0-9 arası 10 rakam var. Her basamak, sağdan sola gidildikçe 10 katı değer taşır.
Hexadecimal’de ise 0-9 ve A-F arası 16 sembol var (A=10, B=11, C=12, D=13, E=14, F=15). Her basamak 16 katı değer taşır. Bu yüzden tek bir basamak 0-15 arası ifade edebilir — yani 8 bit (1 byte) bilgiyi yalnızca 2 hex rakamıyla göstermek mümkündür. Bilgisayar mimarisine son derece uygun.
Hex renk kodu mantığı (#RRGGBB):
#FF5733 gibi bir kod şu anlama gelir:
FF→ Kırmızı kanalı (Red) = 25557→ Yeşil kanalı (Green) = 8733→ Mavi kanalı (Blue) = 51
Her kanal 00 (0) ile FF (255) arasında değer alır. 256 × 256 × 256 = ~16 milyon renk.
Neden hex bu kadar yaygın?
İkili (binary) sistemde 1 byte = 8 bit, yani 00000000 ile 11111111 arası. Bunu okumak çok zor. Onlukta 0-255, hex’te ise tam olarak iki karakter: 00 – FF. Simetri mükemmel — her hex rakamı tam 4 bit’e karşılık gelir, iki rakam = 8 bit = 1 byte.
Renk kodlarında bu yüzden rgb(255, 87, 51) yerine #FF5733 tercih edilir: daha kompakt, kopyalanması kolay, ve iki parçaya bölünce hangi kanal ne kadar değer taşıyor hemen okunuyor. Kaydırıcıları oynayarak bu dönüşümü canlı görebilirsin.