İkilik Sekizlik Dönüştürücü
İkilik basamakları üçerli gruplayarak sekizlik tabana çevir ve Unix sistemlerindeki mantığını incele.
Herhangi bir Unix sisteminde ls -l komutunu çalıştırdığında dosya izinleri 755 gibi üç basamaklı bir değer olarak karşına çıkar. Bu basamakların her biri sekizlik tabandadır ve bu sistemin günümüze kadar kullanılmaya devam etmesinin tek sebebi 3 sayısıdır.
İkilik sekizlik dönüşümünde taban 8 mantığı
8 sayısı 2 değerinin 3. kuvvetidir. Bu sayede her bir sekizlik basamak tam olarak üç ikilik basamağa karşılık gelir; tıpkı onaltılık tabanın dört bitle olan düzenli bağı gibi. 111 101 101 bitlerini üçerli ayırıp her öbeği kendi basamağı olarak okursan (7, 5, 5) bölme işlemi yapmadan ikilik sayıyı sekizlik tabana dönüştürürsün.
Sekizlik taban, bazı işlemcilerin üç bitin katlarına göre tasarlandığı 1960 ve 70 dönemlerinde daha yaygın kullanılıyordu. Sonrasında 8, 16 ve 32 bitlik mimariler standart hale gelince onaltılık taban öne çıktı. Ancak sekizlik sistem Unix izinlerinde vazgeçilmez bir yer edindi.
İkilik sekizlik dönüştürücü ile çeviri adımları
- Dönüştürmek istediğin ikilik bit dizisini giriş alanına yaz veya yapıştır.
- Gerekli doğrulamayı tamamladıktan sonra dönüştürme butonuna tıkla.
- Sunucudan dönen sekizlik karşılığı doğrudan sonuç ekranından kopyala.
Chmod 755 izin tablosu ve sekizlik karşılıkları
| Sekizlik basamak | 3 bit ikilik | İzin | Anlamı |
|---|---|---|---|
| 7 | 111 | rwx | okuma, yazma, çalıştırma |
| 6 | 110 | rw- | okuma, yazma |
| 5 | 101 | r-x | okuma, çalıştırma |
| 4 | 100 | r-- | yalnızca okuma |
| 0 | 000 | --- | izin yok |
Unix izinlerinde ikilik sekizlik eşleşmesi
Bir Unix dosyasında üç izin grubu bulunur: sahip, grup ve diğer herkes. Her bir grup tam olarak üç bitten oluşur: okuma, yazma ve çalıştırma. Üç bit tam olarak bir sekizlik basamağa denk gelir. Bu nedenle chmod 755 komutu dosya sahibini rwx (7), hem grubu hem de diğerlerini r-x (5) yani sadece okuma ve çalıştırma şeklinde ayarlar.
Aynı yetkileri onaltılık tabanda ifade etmek isteseydin, üç bitlik yapıları dört bitlik bloklara çevirmen gerekirdi ve basamaklar birbiriyle örtüşmezdi. Sekizlik taban Unix izinlerindeki üçer bitlik yapıya doğrudan oturduğu için varlığını korumuştur.
İkilik sekizlik dönüştürme hakkında sorular
Bir sekizlik basamak neden tam olarak üç ikilik bite eşittir?
8 sayısı 2 üzeri 3 olduğu için, 0 ile 7 arasındaki sekiz farklı sekizlik değeri ifade etmek adına tam olarak üç bit gerekir. Sayıyı sağdan başlayarak üçerli ayırdığında her grup doğrudan bir sekizlik basamağa dönüşür.
Chmod izinlerinde onluk taban yerine neden sekizlik taban kullanılır?
Unix izinleri doğası gereği grup başına üç bitten oluşur (okuma, yazma, çalıştırma). Üç bitlik bu yapı tek bir sekizlik basamakla eksiksiz örtüşür, onluk sayılar ise bu bit düzenini doğrudan yansıtamaz.
Chmod 644 değeri pratikte ne anlama gelir?
6 değeri 110 yani dosya sahibi için okuma ve yazma hakkıdır. 4 ise 100 olup grup ve diğer kullanıcılar için yalnızca okuma hakkı verir. Sadece sahibinin değiştirmesi gereken dosyalar için yaygın bir tercihtir.
İkilik basamakları çevirmeden önce üçe tamamlamak gerekir mi?
Evet, toplam bit sayısı üçe bölünmüyorsa en sola sıfır ekleyerek tamamlayabilirsin. Sayının soluna sıfır eklemek değeri değiştirmez, sadece basamakları sağdan üçerli gruplara ayırmayı sağlar.
Sekizlik taban günümüzde Unix izinleri dışında nerelerde karşımıza çıkar?
Eski gömülü sistemlerde veya bazı programlama dillerindeki eski sayı tanımlamalarında nadiren yer alır. Ancak pratikte en sık karşılaşılan alan Unix dosya yetkileridir.