İkili Bölme Hesaplayıcı nedir?
Bu araç, bir ikili (taban-2) sayıyı bir diğerine böler ve hem bölümü hem de kalanı ikili olduğu kadar ondalık biçimde de verir. İkili uzun bölme elle yapıldığında hataya çok açık olduğundan, hesaplayıcı girdilerinizi ondalık sisteme çevirir, tam sayı bölmesini gerçekleştirir ve sonuçları sizin için yeniden taban-2'ye dönüştürür.
Nasıl kullanılır?
Bölünen sayıyı (bölme işlemine giren ilk sayıyı) ilk kutuya, böleni ise ikinci kutuya yalnızca 0 ve 1 rakamlarını kullanarak girin. Bölüm ve kalanı görmek için hesapla düğmesine basın. Sıfıra bölme tanımsız olduğundan bölen sıfır olamaz.
Formülün açıklaması
A ve B ikili girdiler olsun. Hesaplayıcı \(A_{10} = \text{parseBinary}(A)\) ve \(B_{10} = \text{parseBinary}(B)\) değerlerini hesaplar. Tam sayı bölüm \(Q = \left\lfloor A_{10} / B_{10} \right\rfloor\) şeklinde, kalan ise \(R = A_{10} \bmod B_{10}\) olarak bulunur. Ardından hem Q hem de R yeniden ikili sisteme çevrilir.
$$\begin{gathered} \text{Dividend}_2 \div \text{Divisor}_2 = Q \;\text{remainder}\; R \\[1.5em] \text{where}\quad \left\{ \begin{aligned} Q &= \left\lfloor \frac{A}{B} \right\rfloor \\ R &= A \bmod B \\ A &= (\text{Dividend}_2)_{10} \\ B &= (\text{Divisor}_2)_{10} \end{aligned} \right. \end{gathered}$$Bu işlem, bilgisayarların işaretsiz tam sayı bölmesini nasıl yaptığının birebir yansımasıdır.
Çözümlü örnek
\(1100_2\) sayısını \(10_2\) sayısına bölelim. Ondalık karşılıkları: \(1100_2 = 12\) ve \(10_2 = 2\). Buradan
$$12 \div 2 = 6 \;\text{R}\; 0$$olur. Geri çevirdiğimizde: \(6 = 110_2\) ve \(0 = 0_2\). Yani \(1100 \div 10 = \mathbf{110}\), kalan 0.
Sık sorulan sorular
Kesirli ikili sayıları bölebilir miyim? Hayır — bu hesaplayıcı işaretsiz tam sayı (tam) ikili sayılarla çalışır ve tam sayı bölüm ile kalan döndürür.
Bölen, bölünenden büyükse ne olur? Bölüm 0 olur ve kalan bölünene eşittir; örneğin \(10 \div 100\) işleminde bölüm 0, kalan 10 çıkar.
Neden ondalık karşılığı da gösteriliyor? Ondalık karşılıkları görmek, sonucu doğrulamayı ve dönüşümü anlamayı kolaylaştırır.
İkili Sayıları El ile Bölme
İkili uzun bölme, onluk uzun bölme gibi çalışır, ancak aslında daha basittir: her adımda bölen mevcut bitlere sığar (bir 1 yazın) ya da sığmaz (bir 0 yazın). Ezberlenecek çarpım tabloları yoktur — bölen her zaman sadece 0 veya 1 ile çarpılır.
\(\text{Bölünen}_2 \div \text{Bölen}_2 = Q \;\text{R}\; R\) işlemini hesaplamak için genel prosedür:
- En anlamlı bitten hizala. Bölünenin en solundaki bitten başlayıp bunu geçerli çalışma değeri olarak alın.
- Karşılaştır. Geçerli çalışma değerini bölenle karşılaştırın. Çalışma değeri bölenden büyük veya eşitse, bölen "sığar".
- Bölüm bitini yaz. Sığarsa üstüne 1, aksi halde 0 yazın.
- Çıkar. Eğer 1 yazdıysanız, bölen çalışma değerinden çıkarılır; fark yeni çalışma değeri olur. Eğer 0 yazdıysanız, çalışma değeri değişmez.
- Bölünenin sonraki bitini aşağı getir ve çalışma değerine ekle.
- Tekrar et 2–5. adımları bölünenin tüm bitleri aşağı getirilene kadar.
- Sonucu oku. Üstte toplanan bitler bölümü \(Q\) oluştururken; kalan çalışma değeri kalandır \(R\).
Çalışılmış örnek: \(1011_2 \div 10_2\) (yani, ondalıkta 11 ÷ 2).
- İlk biti aşağı getir: çalışma değeri =
1. \(1 \ge 10\) mi? Hayır → bölüm biti 0. - Sonraki biti aşağı getir: çalışma değeri =
10. \(10 \ge 10\) mi? Evet → bölüm biti 1, çıkar: \(10 - 10 = 0\). - Sonraki biti aşağı getir: çalışma değeri =
01=1. \(1 \ge 10\) mi? Hayır → bölüm biti 0. - Son biti aşağı getir: çalışma değeri =
11. \(11 \ge 10\) mi? Evet → bölüm biti 1, çıkar: \(11 - 10 = 1\). - Kalan bit yok. Bölüm =
0101= 101, kalan =1.
Ondalıkta çapraz kontrol: \(11 \div 2 = 5\) kalan \(1\), ve \(101_2 = 5\), \(1_2 = 1\). ✓
Daha Fazla İkili Bölme Örneği
Her örnek, ikili uzun bölmeyi ondalık çapraz kontrolü ile gösterir; burada ilişki her zaman \(\text{Bölünen} = \text{Bölen}\times Q + R\) şeklindedir.
Örnek 1 — sıfırdan farklı kalan: \(1011_2 \div 10_2\)
- Ondalık eşdeğerleri: \(1011_2 = 11\), \(10_2 = 2\).
- Uzun bölme
101bölüm bitleri ile kalan bit1verir. - Sonuç: \(1011_2 \div 10_2 = 101_2 \;\text{R}\; 1_2\) → ondalıkta \(11 \div 2 = 5\;\text{R}\;1\).
- Kontrol: \(2 \times 5 + 1 = 11\). ✓
Örnek 2 — bölen bölünenden büyük: \(100_2 \div 1000_2\)
- Ondalık eşdeğerleri: \(100_2 = 4\), \(1000_2 = 8\).
- Bölen (8) bölünenden (4) daha büyük olduğu için, asla sığmaz, dolayısıyla her bölüm biti 0'dır.
- Sonuç: \(100_2 \div 1000_2 = 0 \;\text{R}\; 100_2\) → ondalıkta \(4 \div 8 = 0\;\text{R}\;4\).
- Kontrol: \(8 \times 0 + 4 = 4\). ✓ Bölünen bölenden küçük olduğunda, bölüm her zaman 0 ve kalan bölünenin kendisidir.
Örnek 3 — çapraz kontrollü temiz bölme: \(11110_2 \div 110_2\)
- Ondalık eşdeğerleri: \(11110_2 = 30\), \(110_2 = 6\).
110'a ulaşana kadar bitler aşağı getir → bir kez sığar; bitler aşağı getirmeye devam et, her sığdığında \(110\) çıkar.- Sonuç: \(11110_2 \div 110_2 = 101_2 \;\text{R}\; 0\) → ondalıkta \(30 \div 6 = 5\;\text{R}\;0\).
- Bölümü doğrula: \(101_2 = 5\), ve \(6 \times 5 + 0 = 30\) kontrol et. ✓ Kalan 0 olduğu için bölme tamdir.
Bu dönüşümlerin herhangi birini bir ikili-ondalık dönüştürücü ile doğrulayabilir ve son kontrolü bölüm ve bölen çarpımını geri çarparak doğrulayabilirsiniz.
İkili Bölmedeki Temel Terimler
- Bölünen
- Bölünen sayı — bölme köşeğinin altına yazılan değer. \(1011_2 \div 10_2\) işleminde bölünen \(1011_2\) şeklindedir.
- Bölen
- Bölüm sayısı. \(1011_2 \div 10_2\) işleminde bölen \(10_2\) şeklindedir. Bölen sıfır olmamalıdır.
- Bölüm
- Bölmenin tamsayı sonucu — bölenin bölünene kaç kez sığdığı. Köşeğin üstüne yazılır, adım başına bir bit.
- Kalan
- En büyük tamsayı bölüm çıkarıldıktan sonra kalan miktar: \(R = \text{Bölünen} - \text{Bölen}\times Q\). Her zaman bölenden daha küçüktür.
- İkili (taban-2)
- Sadece 0 ve 1 rakamlarını kullanan bir sayı sistemi; burada her basamak değeri on'un kuvveti yerine ikinin kuvveti (\(1, 2, 4, 8, \dots\)) şeklindedir.
- Bit
- Bir tek ikili rakam (0 veya 1) — "ikili rakam"ın kısaltması.
- LSB / MSB
- En Az Anlamlı Bit en sağdaki bittir (birler basamağı); En Çok Anlamlı Bit en soldaki bittir (en yüksek basamak değeri). İkili uzun bölme bitleri MSB'den LSB'ye doğru işler.
- Tamsayı / taban bölme
- Sadece tamsayı bölümü tutan ve kesirli kısım atılan bölme — tam olarak ikili uzun bölmenin kalanı ile ürettiği şeydir.
- Modulo
-
Yalnızca bir bölmenin kalanını döndüren işlem (genellikle
modveya%olarak yazılır). \(1011_2 \div 10_2\) için modulo sonucu \(1_2\) şeklindedir.