İkilik Tabandan Ondalığa Çevirici Nedir?
İkilik tabandan ondalığa çevirici, taban 2'de (yalnızca 0 ve 1 rakamlarıyla) yazılmış bir sayıyı günlük hayatta kullandığımız taban 10 sistemindeki karşılığına dönüştürür. Bilgisayarlar her şeyi ikilik düzende saklayıp işlediği için; ham bitlerden, bellek dökümlerinden, ağ maskelerinden veya program çıktılarından insan tarafından okunabilir bir değer elde etmeniz gerektiğinde bu dönüşüm vazgeçilmezdir.
Nasıl Kullanılır?
İkilik sayınızı ilgili alana yazmanız yeterli — örneğin 101101 — araç size ondalık değeri bit sayısıyla birlikte verir. 0 veya 1 dışındaki karakterler dikkate alınmaz; bu sayede 1011 0101 gibi boşluklarla ayrılmış grupları gönül rahatlığıyla yapıştırabilirsiniz.
Formülün Açıklaması
Her ikilik basamak (bit), sağdan başlayıp 0'dan itibaren sayılan konumuna göre 2'nin o kuvveti kadar bir ağırlık taşır. Ondalık değer, her bitin kendi ağırlığıyla çarpımının toplamıdır:
$$\text{Decimal} = \sum_{i=0}^{n-1} d_i \cdot 2^{\,n-1-i}, \quad d_i \in \text{Binary Number}$$
En sağdaki bitin ağırlığı \(2^0 = 1\), sonraki \(2^1 = 2\), ardından \(2^2 = 4\), \(2^3 = 8\) ve böyle devam eder.
Çözümlü Örnek
101101 sayısını çevirelim. Sağdan başlayarak 1, 2, 4, 8, 16, 32 ağırlıklarıyla:
$$(1\cdot32) + (0\cdot16) + (1\cdot8) + (1\cdot4) + (0\cdot2) + (1\cdot1) = 32 + 8 + 4 + 1 = 45$$ Yani ikilik 101101, ondalık 45'e eşittir.
İki'nin Kuvvetleri Pozisyonel Ağırlıkları
İkili bir sayıda, her bit, iki'nin bir kuvvetine eşit bir pozisyonel ağırlığa sahiptir. En sağdaki bit (pozisyon 0) \(2^0 = 1\) ağırlığını taşır ve solunun her bir pozisyonu ağırlığı iki katına çıkarır. Ellenmek için, her biti kendi ağırlığıyla çarpın ve sonuçları toplayın:
$$\text{Onlu} = \sum_{i=0}^{n-1} d_i \cdot 2^{\,i}$$
burada \(i\) sağdan (en az anlamlı bit) başlayarak 0'dan başlamak üzere pozisyonları sayar.
| Bit pozisyonu \(i\) | Güç \(2^i\) | Onlu ağırlık |
|---|---|---|
| 0 | \(2^0\) | 1 |
| 1 | \(2^1\) | 2 |
| 2 | \(2^2\) | 4 |
| 3 | \(2^3\) | 8 |
| 4 | \(2^4\) | 16 |
| 5 | \(2^5\) | 32 |
| 6 | \(2^6\) | 64 |
| 7 | \(2^7\) | 128 |
| 8 | \(2^8\) | 256 |
| 9 | \(2^9\) | 512 |
| 10 | \(2^{10}\) | 1.024 |
| 11 | \(2^{11}\) | 2.048 |
| 12 | \(2^{12}\) | 4.096 |
| 13 | \(2^{13}\) | 8.192 |
| 14 | \(2^{14}\) | 16.384 |
| 15 | \(2^{15}\) | 32.768 |
| 16 | \(2^{16}\) | 65.536 |
8 bitlik bir bayt için maksimum değer \(2^8 - 1 = 255\) (sekiz bitin tümü 1 olarak ayarlanmış) ve 16 bit için \(2^{16} - 1 = 65.535\) olur.
Daha Fazla Çalışılmış Örnek
Her örnek her biti tablodaki pozisyonel ağırlığıyla hizalar, yalnızca bitin 1 olduğu ağırlıkları tutar ve onlu değeri almak için bunları toplar.
Örnek 1: 11111111 (8 bit hepsi ayarlanmış)
Her bit 1'dir, bu nedenle pozisyon 7'den pozisyon 0'a kadar sekiz ağırlığın tümünü ekleriz:
$$128 + 64 + 32 + 16 + 8 + 4 + 2 + 1$$
Toplam 255'tir, bu bir 8 bitlik baytın tutabileceği en büyük değerdir.
Örnek 2: 10000000
Yalnızca en sol bit (pozisyon 7) 1'dir; diğer tüm pozisyonlar 0 katkı sağlar:
$$1\cdot128 + 0\cdot64 + 0\cdot32 + 0\cdot16 + 0\cdot8 + 0\cdot4 + 0\cdot2 + 0\cdot1$$
Bu, tek ağırlık \(2^7\) olarak sadeleşir ve 128 değerini verir.
Örnek 3: 110010101 (9 bit)
Bitleri pozisyon ağırlıklarıyla yazıldığında, 1 bitler pozisyon 8, 7, 4, 2 ve 0'da yer alır:
| Bit | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
|---|---|---|---|---|---|---|---|---|---|
| Pozisyon | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Ağırlık | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Yalnızca bitin 1 olduğu ağırlıkları toplama:
$$256 + 128 + 16 + 4 + 1$$
Onlu sonuç 405'tir. Ters yönü bir ikili'den onlu'ya dönüştürücü ile doğrulayabilirsiniz ve 405 girerek 110010101 döndürdüğünü kontrol edebilirsiniz.
Sıkça Sorulan Sorular
En büyük 8 bitlik ikilik sayı nedir? 11111111'dir ve ondalık olarak 255'e karşılık gelir (\(2^8 - 1\)).
Başına sıfır ekleyebilir miyim? Evet. Baştaki sıfırlar değeri değiştirmez — 0010 ile 10 aynıdır, ikisi de ondalık 2'ye eşittir.
Kesirli ikilik sayıları işler mi? Hayır, bu araç yalnızca tam sayı niteliğindeki ikilik sayıları çevirir. Virgülden sonraki kesirli kısımlar desteklenmez.