Tüm makaleler

Sayı sistemleri: ikili, sekizli ve on altılık sistemler neden var

1928'de Atatürk'ün öncülük ettiği harf devrimiyle birlikte Türkiye yalnızca Arap alfabesinden Latin alfabesine geçmedi — o zamana kadar resmî yazışmalarda kullanılan Arap-Fars rakamları da yerini bugün kullandığımız Batı rakamlarına (0-9) bıraktı. Bir sayının yazımı bir gecede değişebiliyorsa, bir bilgisayarın aynı sayıyı ikilik, sekizlik ya da on altılık düzende yazması da sadece bir gösterim tercihi meselesidir.

1928 rakam reformu ve sonrası

Reform öncesinde Osmanlı belgelerinde hem Arap-Fars rakamları hem de zaman zaman ebced hesabı (harflerin sayısal değer taşıdığı bir sistem) kullanılıyordu. Harf ve rakam devrimiyle birlikte eğitim, basın ve resmî yazışmalar tek tip Batı rakamına geçti — bu, aynı niceliğin farklı sembollerle yazılabileceğini gösteren, ülke tarihindeki en somut örneklerden biridir.

Geliştiricinin gerçekten açtığı araçlarda on altılık sistem

Bir on altılık basamak tam olarak dört bite karşılık gelir, bu yüzden iki on altılık karakter bir baytı kompakt şekilde tanımlar — #3A7FD9 gibi bir CSS rengi, 00:1A:2B:3C:4D:5E gibi bir MAC adresi ya da bir hata ayıklayıcının yığın izinde görünen bellek adresi, aslında ikiliğe göre dört kat daha kısa yazılmış baytlardan başka bir şey değildir.

Sekizli sistemin son kalesi: Unix izinleri

Sekizli sistem günlük kullanımdan neredeyse tamamen kalksa da tek bir yerde hâlâ direniyor — chmod 755. Her sekizli basamak üç izin bitini (okuma, yazma, çalıştırma) paketler, bu yüzden 7 "rwx", 5 ise "r-x" anlamına gelir — üç biti birden okumak, dokuz ikilik basamağı tek tek saymaktan çok daha hızlıdır.

Bu neden gereklidir

  • Bir rengi CSS on altılık formatından ondalık RGB değerlerine dönüştürmek.
  • Bit düzeyi işlemlerle çalışırken bir sayının ikili gösterimini anlamak.
  • Unix sistemlerinde sekizli dosya izinlerini çözmek.

Base64 neden bir sayı sistemi değildir

Base64, benzer ismi yüzünden sık sık sayı sistemi dönüştürmeyle karıştırılır, ama aslında tamamen farklı bir şeydir — tek bir sayıyı yazma yöntemi değil, rastgele ikili verileri (örneğin bir görsel veya dosyayı) 64 karakterlik bir metin dizisine kodlama yöntemidir. 255 sayısı on altılık sistemde FF'dir, ama aynı sayı bir bayt olarak Base64'te kodlandığında tamamen farklı görünür ve farklı bir amaca hizmet eder — ikili verileri metin kanalları üzerinden iletmek.

Aracı dene