Sekizlikten Onluğa Dönüştürücü

Değerleri girin; onluk sonucunu alın.

Nasıl hesaplanır?

Her sekizlik basamak, sağdan 0'dan başlayarak konumuna göre 8'in bir kuvvetiyle çarpılır ve çarpımlar toplanır: onluk = Σ dᵢ × 8i. Aynı değer ayrıca 0x ön ekiyle ve büyük harflerle onaltılık olarak gösterilir. Girdideki boşluklar yok sayılır, baştaki sıfırlar bir şeyi değiştirmez; yani 0755 ile 755 aynıdır. Yalnızca 0-7 rakamları kabul edilir: 8 ya da 9 rakamı, eksi işareti, ondalık nokta veya 0o gibi bir ön ek sonuç vermez, boş kutu da vermez. Çevrilebilecek en büyük değer 21 tane 7'dir ve 9.223.372.036.854.775.807'ye (263 − 1) eşittir; daha uzun girdiler basamak kaybıyla gösterilmek yerine reddedilir. Yalnızca negatif olmayan tam sayılar işlenir.

Örnek hesaplama

Unix izni 755'i çevirelim. Sağdan 5, 5, 7 rakamları 8'in 0, 1, 2. kuvvetlerindedir. Yani 7 × 64 = 448, 5 × 8 = 40 ve 5 × 1 = 5. Toplam: 448 + 40 + 5 = 493. Araç onluk 493 ve onaltılık 0x1ED gösterir. Benzer şekilde sekizlik 644, onlukta 420'dir ve bu da 0x1A4 eder.

Bu örneği dene →

Sık yapılan hatalar

  • 189 ya da 98 gibi 8 veya 9 rakamı girmek. Sekizlik sistemde yalnızca 0-7 vardır; araç tahmin yürütmek yerine sonuç vermez.
  • Programlama dillerindeki ön eki yazmak; 0o755 gibi. Düz 0755 çalışır, ama 0o755 içinde o harfi bulunduğu için reddedilir.
  • Onluk sonucu izin rakamları sanmak. 493 izin kümesinin sayısal değeridir, chmod dizesi değildir; chmod'a 755'in kendisi verilir.
  • -17 ya da 17.5 gibi negatif sayı veya kesir girmek. Yalnızca negatif olmayan tam sekizlik sayılar çevrilir.
  • Sınırın üzerinde bir değer yapıştırmak; örneğin 1777777777777777777777. Sınır 21 tane 7'dir (263 − 1); daha büyük sayılar reddedilir.

Bu hesaplama hakkında

Sekizlik (8 tabanlı) sayıyı onluğa çevirmek, her basamağı 8’in o basamağın konum kuvvetiyle çarpıp toplamak anlamına gelir — örneğin sekizlik 17 = 1×8¹ + 7×8⁰ = onluk 15’tir — çünkü sekizlik sistem yalnızca 0-7 rakamlarını kullanır ve her basamak tam olarak 3 bit’i temsil eder.

Sekizlik sistem, kelime uzunluğu 3’e bölünebilen erken dönem bilgisayarlar için doğal bir kısayoldu ve günümüzde en çok Unix/Linux dosya izin gösteriminde (örneğin chmod 755) yaşamaya devam ediyor; bu yüzden geliştiriciler ve sistem yöneticileri, sekizlik bir izin veya eski bir değeri doğru yorumlamak ya da ayarlamak için hâlâ zaman zaman onluk veya on altılığa çevirmek durumunda kalıyor.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Bunun önemli olduğu yaygın bir yer, dosya izinlerini ayarlayan koddur. Birçok dilde baştaki 0 sekizlik gösterim anlamına gelir; 0755 yazarsanız istediğiniz izin kümesini elde edersiniz, ama düz onluk 755 aslında sekizlik 1363 değeridir ve tuhaf izinler ayarlar. Bir betik yanlış izin uyguluyorsa yazdığınız sayıyı dönüştürüp niyet ettiğinizle karşılaştırın. Sekizlik bir değer sizi hangi dilde ya da araçta yanılttı?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar