Aynı Değeri İkili, Sekizli, Ondalık ve On Altılıkta Yeniden Yazma
Bir sayı tabanı (veya “radiks”), bir sayı sisteminin bir sonraki basamak değerine geçmeden önce kaç farklı basamak kullandığıdır — ondalık 10 (0–9) kullanır, ikili 2 (0–1) kullanır, sekizli 8 (0–7) kullanır ve on altılık 16 (0–9, ardından A–F) kullanır. Bu dört tabandan herhangi birinde bir tam sayı girin; bu hesaplayıcı aynı değeri dördünde birden yazılmış olarak gösterir.
İkili, bilgisayarların her değeri dahili olarak nasıl temsil ettiğidir (her basamak bir “bit”tir); on altılık, programlamada ikili için yaygın bir kısaltmadır (her on altılık basamak tam olarak 4 ikili basamağın yerini alır, bu yüzden okumak ve yazmak çok daha kompakttır); sekizli, eski Unix dosya izinlerinde ve bazı düşük seviye bağlamlarda görünür. Ondalık ise sadece günlük 10 tabanlı sistemdir.
Formül
Her konumsal sayı sistemi aynı şekilde çalışır: her basamak, basamak değeri kuvvetine yükseltilmiş tabanla çarpılır, ardından toplanır:
burada , konumundaki basamaktır (en sağdaki basamaktan 0 olarak sayılır). Farklı bir tabana dönüştürmek, ondalık değeri yeni tabana tekrar tekrar böler, her kalanı kaydeder — yukarıdaki toplamın tersidir.
Örnek Hesaplama
İkili 11111111’i diğer üç tabana dönüştürme:
- Sağdan sola okuyarak, her
1kendi basamak değerine katkıda bulunur: . - Ondalık: 255.
- Sekizli: 255’i tekrar tekrar 8’e bölmek (255 ÷ 8 = 31 kalan 7, 31 ÷ 8 = 3 kalan 7, 3 ÷ 8 = 0 kalan 3), kalanları alttan üste okuyarak 377’yi verir.
- On altılık: 255 ÷ 16 = 15 kalan 15, 15 ÷ 16 = 0 kalan 15 — her iki kalan da 15’tir (on altılıkta F), FF’yi verir.
Dikkate Alınması Gereken Önemli Faktörler
- Tek bir bayt (8 bit) tam olarak 256 farklı değeri temsil edebilir — ondalıkta 0’dan 255’e veya on altılıkta 00’dan FF’ye. Bu tam olarak 255/FF’nin bilgi işlemde bu kadar yaygın bir referans değer olmasının nedenidir — bu, tek bir baytın tutabileceği maksimum değerdir; RGB renk kanallarından (kanal başına 0-255) ağ oluşturmaya ve dosya biçimlerine kadar her yerde ortaya çıkar.
- Sekizli, tarihsel olarak eski bilgisayar kelime boyutları nedeniyle bugünkünden çok daha yaygındı. Sekizli (8 tabanı), 3’e bölünebilen kelime boyutlarına sahip bilgisayarlara uyan 3 ikili basamaktan oluşan gruplarla temiz bir şekilde eşleşir — modern bilgi işlem büyük ölçüde on altılığa kaymıştır (4 bitlik gruplarla eşleşir), çünkü çoğu modern donanım 4 ve 8’e bölünebilen kelime boyutları kullanır, ancak sekizli hâlâ Unix dosya izin gösteriminde (örneğin chmod 755) gibi belirli bağlamlarda görünür.
- Yaygın bir programcı hatası, bir sayının tabanını yalnızca bağlamdan karıştırmaktır. “10” basamakları, tabana bağlı olarak çok farklı değerler ifade eder — ondalıkta 10, ikilide 2, sekizlide 8, on altılıkta 16 — bu, programlama dillerinin tipik olarak hangi tabanın kastedildiği konusunda herhangi bir belirsizliği ortadan kaldırmak için açık bir önek (on altılık için 0x veya ikili için 0b gibi) gerektirmesinin nedenidir.
- Herhangi bir tam sayı teorik olarak yalnızca bu dördünde değil, HERHANGİ bir tabanda temsil edilebilir. İkili, sekizli, ondalık ve on altılık, basitçe bilgi işlemde ve günlük matematikte en yaygın gerçek dünya kullanımına sahip dört tabandır — bu hesaplayıcının kullandığı aynı konumsal gösterim ilkesi, taban 3, taban 20 veya taban 60 (zamanın ve açıların geleneksel olarak bölünme temeli) gibi herhangi bir tabana genişler.
Yaygın Hatalar
- Ön eksiz karışık tabanlı bir sayıyı varsayılan olarak ondalık okumak. “10” ondalıkta on anlamına gelir ama ikilide sadece iki — bir sayıyla hesaplama yapmadan önce her zaman hangi tabanda yazıldığını kontrol edin (veya belirtin).
- Baştaki sıfırların değeri değiştirdiğini varsaymak. Tıpkı ondalıkta olduğu gibi, ikilide
0011,11ile aynı değerdir — baştaki sıfırlar yalnızca sabit genişlikli biçimlendirme için (tam bir bayt göstermek gibi) anlamlıdır, sayının gerçek değeri için değil. - 9’un üzerindeki on altılık basamakların iki basamaklı sayılar yerine harf kullandığını
unutmak. On altılık on,
10değilAolarak yazılır — on altılıkta10yazmak aslında ondalıkta on altı anlamına gelir, bu da yaygın bir büyük hata kaynağıdır. - Negatif bir sayıyı doğrudan dönüştürmeye çalışmak. Yukarıdaki SSS’de belirtildiği gibi, negatif ikili/on altılık değerler seçilen bir bit genişliğine ve ikiye tümleyen kuralına bağlıdır — negatif olmayan tam sayılarda olduğu gibi tek, belirsiz olmayan bir dönüşüm yoktur.
Bilmekte Fayda Var
- Rastgele sayılar yerine ağ adresleriyle mi çalışıyorsunuz? IP Alt Ağ Hesaplayıcı aynı ikili/ondalık ilişkiyi özellikle IPv4 adreslerine uygular.
- Kompakt bir biçimde çok büyük veya çok küçük ondalık sayılara mı ihtiyacınız var? Bilimsel Gösterim Hesaplayıcı bunun yerine bu tür bir dönüşümü ele alır.
- Çok daha eski, konumsal-benzeri bir sayı sistemi mi merak ediyorsunuz? Romen Rakamı Hesaplayıcı tamamen farklı (konumsal olmayan) bir yaklaşım kullanan Roma rakamlarına ve rakamlarından dönüştürür.