SAYI SİSTEMLERİ II
▫ Tahmini okuma süresi: 2 dakika ▫
Birinci yazıda iki tabanlı(binary) sayı sisteminden ve günlük hayatta on tabanlı(decimal) sayı sistemini kullandığımızdan bahsetmiştim. Bu yazımda ise onaltılık (hexadecimal) sayı sistemini anlatacağım. Bu sayı sistemi neden var? Nerelerde kullanılıyor?
Decimal sayı sisteminde, {0,1,2,3,4,5,6,7,8,9} rakamlar kümesindeki rakamları kullanarak sayılar üretebiliyorduk. Örneğin (10568)10 sayısınıbaz alacak olursak birler basamağında 8 rakamı, onlar basamağında 6 rakamı, yüzler basamağında 5 rakamı, binler basamağında 0 rakamı, onbinler basamağında 1 rakamı mevcut. Basamak ağırlıkları 10’un katları şeklinde artıyor. Çünkü onluk tabanda çalışıyoruz. Onaltılık tabanda işler biraz değişiyor. Bu sefer kümemiz {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} oluyor. 10 sayısı A, 11 sayısı B, 12 sayısı C, 13 sayısı D, 14 sayısı E ve 15 sayısı F karakterine karşılık geliyor. Dikkat ederseniz harf ifadesini kullanmadım. Çünkü bir sayıyı ifade etmeye çalışıyoruz. Harfler ile kelimeler oluşturulur, sayılar değil. O yüzden o kümedeki her bir eleman birer karakterdir.
Şimdi,decimal sayı sisteminde tanımlanan bir sayıyı hexadecimal sayı sistemine taşıyalım. Yapmamız gereken işlem, sayımızı bir daha bölemeyeceğimiz ana kadar 16’ya bölmek. Kalan sayıları da yazmayı ihmal etmiyoruz.

Yukarıda (2482)10 sayısı tekrar bölünemeyene kadar 16’ya bölünmüştür. En son bulunan bölüm sayısı ile tüm kalan sayılar, yıldız konulan yerden itibaren soldan sağa doğru yazılır.

2, 11 ve 9 karakterleri bizim (2482)10 sayımızın hexadecimal formudur. Fakat 11 sayısı hexadecimal formda kullanılamıyordu. 11 yerine B karakteri kullanılıyordu. Sayımızı güncellersek son hali aşağıdaki gibi olacaktır:

Bizler günlük hayatta decimal(onluk) sayı sistemini kullanıyoruz. Ekmek alırken, ödeme yaparken, adet sayarken… Günlük hayatta farklı taban kullandığımız bir yer daha var, orası da saatler. Saatlerde 60 tabanı kullanılır. 61. dakika yoktur. Dakika 60 olduktan sonra artık 1 saat dolar, 1 saat 1 dakika denir. İkilik(binary) sayı sistemini mikrodenetleyicilerde, elektroikte, lojik devrelerde kullanırız. Elektroik komponentleri birbirleri ile haberleştirebilmek için kullanırız. Hexadecimal sistemi ise yüksek seviye denetleyicilerde(16 bitlik, 32 bitlik) kodlama kolaylığı olması açısından sayıları daha az basamaklarla ifade etmek amacı ile kullanırız. Bir örnek vermek gerekirse, elimizde 16 bitlik bir denetleyici olsun. Her portunda 16 adet pin vardır. Örneğin 16. portun 3. 5. 14. ve 15. pinlerini aktif etmek istiyoruz. Bu durumda bu kodu binary olarak şu şekilde yazmamız gerekir:

Binary kodumuz yukarıdaki şekilde olacaktı, eğer bunu hexadecimal olarak yazsaydık:

şeklinde yazacaktık. Yazılım kolaylığı açısından bu sistem tercih edilir.
Bu yazımızdahexadecimal(onaltılık) sayı sistemine değindim. Nasıl bulunduğu, nerelerde kullanıldığı ile ilgili bilgiler vermeye çalıştım. Umarım faydalı olmuştur ve ufuk açmıştır. Herkese iyi haftalar dilerim.