Hizmetler Hosting & Sunucu Araçlar Blog Ara Kurumsal EnglishEN
Teklif Alın

Sayı tabanı (pozisyonel sayı sistemi) nedir?

Bir sayı sisteminde her basamağın değeri, o basamağın bulunduğu konuma ve sistemin tabanına (radix) bağlıdır. Onluk (decimal) sistemde 243 sayısı aslında (2×100) + (4×10) + (3×1) demektir; her basamak sağdan sola doğru tabanın artan kuvvetleriyle (1, 10, 100, ...) çarpılır ve toplanır. Bu genel kural — pozisyonel gösterim — taban 10 için olduğu kadar taban 2, 8 ya da 16 için de aynı şekilde işler; tek fark kullanılabilecek rakam sayısı ve her basamağın temsil ettiği kuvvetin tabanıdır.

Onluk taban, 0-9 arası 10 rakamdan oluşan ve günlük hayatta kullandığımız insan sayı sistemidir; on parmakla saymaya dayandığı düşünülür. Bilgisayarlar ise verileri farklı bir tabanda, ikilik olarak saklar — bunun nedenini bir sonraki bölümde açıklıyoruz.

İkilik (binary) taban: bilgisayarların dili

İkilik taban 2 kullanır ve doğrudan bilgisayarların donanım seviyesinde veri saklama biçimini yansıtır: her bit (binary digit — 0 ya da 1), 2'nin bir kuvvetini temsil eder. Bir transistörün ya da bellek hücresinin güvenilir biçimde ayırt edebildiği yalnızca iki durum (akım var/yok, yüksek/düşük gerilim) olduğu için, bilgisayarların temel veri birimi ikilik tabanla ifade edilir.

Sekiz bitlik bir grup bir bayt (byte) oluşturur ve 256 farklı değeri, yani 0'dan 255'e kadar bir sayıyı temsil edebilir (2'nin 8. kuvveti 256'dır). KEYDAL'ın sayı tabanı çevirici aracındaki varsayılan örnek olan 255 (ikilik: 11111111) tam olarak bu üst sınırı gösterir — sekiz bitin tamamı 1 olduğunda ulaşılan en büyük değerdir.

Sekizlik (octal) taban ve dosya izinlerindeki yeri

Sekizlik taban 8 kullanır; erken Unix sistemlerinde yaygındı ve bugün hâlâ en çok dosya izni gösteriminde karşımıza çıkar. Bunun nedeni, bir dosya izninin (okuma, yazma, çalıştırma) üç bitlik bir grup halinde ifade edilmesi ve üç bitlik her grubun tam olarak bir sekizlik basamağa (0-7) karşılık gelmesidir — bu da izinleri tek tek bit yerine kompakt, tek haneli sekizlik rakamlarla yazmayı mümkün kılar.

chmod 755 dosya.txt

755 sekizlik gösterimi; sahibine oku-yaz-çalıştır (7 = 111), gruba ve diğer kullanıcılara oku-çalıştır (5 = 101) izni verir.

Örnek: chmod 644 index.html

On altılık (hexadecimal) taban: kompakt bayt gösterimi

On altılık taban 16 kullanır ve programlamada yaygın olarak tercih edilir; çünkü her hex basamağı tam olarak 4 ikili bite (bir nibble) karşılık gelir — bu da ikili veriyi kompakt ve okunabilir biçimde göstermeyi sağlar. Bellek adresleri, #FF5733 gibi renk kodları, MAC adresleri ve hash özetleri bu yüzden hex ile gösterilir: iki hex basamağı tam olarak bir baytı (8 bit) ifade eder.

16 farklı rakam gerektiği için (0-9 yetmez), 10 ile 15 arası değerler harflerle gösterilir: A=10, B=11, C=12, D=13, E=14, F=15. Böylece iki hex basamağıyla 00'dan FF'ye (0'dan 255'e) kadar tek bir baytın alabileceği her değer yazılabilir.

Onlukİkilik (4 bit)SekizlikOn altılık
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Elle taban çevirme: adım adım örnek ve sık yapılan hatalar

Onluk 202 sayısını ikilik tabana çevirmek için sayıyı sürekli 2'ye böler ve kalanları not ederiz: 202÷2=101 kalan 0, 101÷2=50 kalan 1, 50÷2=25 kalan 0, 25÷2=12 kalan 1, 12÷2=6 kalan 0, 6÷2=3 kalan 0, 3÷2=1 kalan 1, 1÷2=0 kalan 1. Kalanları en sondan başa doğru (aşağıdan yukarıya) okuduğunuzda sonuç 11001010 olur.

Aynı sayıyı on altılık tabana çevirmek için bu kez 16'ya bölme işlemi yapılır: 202÷16=12 kalan 10 (A), 12÷16=0 kalan 12 (C). Kalanları ters sırayla okuduğunuzda CA elde edilir. Sonucu doğrulamak isterseniz tersten gidebilirsiniz: 11001010 sayısında yalnızca 1 olan basamakları, sağdan sola doğru 2'nin kuvvetleriyle (1, 2, 4, 8, 16, 32, 64, 128) eşleştirip toplarsınız: 128 + 64 + 8 + 2 = 202.

  • Bit pozisyonlarını yanlış saymak: İkilik bir sayıyı çözerken en sağdaki basamak her zaman 2'nin 0. kuvvetini (yani 1) taşır, bir soldaki 2'yi, ondan bir soldaki 4'ü temsil eder ve bu şekilde katlanarak devam eder. Basamakları hangi yönden sayacağınızı karıştırmak, yanlış bir onluk değer hesaplamanıza yol açar.
  • 0x ve 0b önekini atlamak ya da karıştırmak: Kodda 0x öneki bir sayının on altılık, 0b öneki ise ikilik olarak okunması gerektiğini belirtir. Önek belirtilmeden yazılan tek başına 10 gibi bir değer, bağlama göre onluk 10, ikilik 2 ya da on altılık 16 anlamına gelebilir — hangi tabanda yazıldığı belirtilmeden paylaşılan bir sayı, yanlış tabanda yorumlanmaya açıktır.
  • Sekizlik ile on altılık basamakları karıştırmak: Sekizlik bir basamak yalnızca 0-7 arası değer alabilir, on altılık bir basamak ise 0-9 ve A-F arası 16 değer alabilir. Sekizlik bir sayıda 8 ya da 9 rakamı, on altılık olmayan bir sayıda G ve sonrası bir harf asla görünmez; böyle bir rakam varsa girilen değer o taban için geçersizdir.
  • Uzun değerleri gruplamadan okumaya çalışmak: Bir renk kodu ya da MAC adresi gibi uzun bir on altılık ya da ikilik değeri, basamakları ikişerli (hex) ya da sekizerli (binary bayt) gruplar halinde ayırmadan tek bir blok olarak okumak, hangi kısmın hangi baytı temsil ettiğini takip etmeyi zorlaştırır ve kopyalama hatalarına yol açar.

KEYDAL Sayı Tabanı Çevirici ile pratik yapın

Dört tabanı elle çevirmeyi bilmek faydalıdır, ama günlük kullanımda hız ve doğruluk için bir çeviriciye ihtiyaç duyarsınız. KEYDAL'ın sayı tabanı çevirici aracında ikilik, sekizlik, onluk ve on altılık için dört ayrı alan bulunur; herhangi birine bir değer yazdığınızda diğer üç alan anında güncellenir, böylece dört yönlü çeviriyi tek ekranda görebilir ve elle yaptığınız hesabı da doğrulayabilirsiniz.

WhatsApp