Birler Tümleyeni Nedir?
Bir ikili sayının birler tümleyeni, her bitin ters çevrilmesiyle (terslenmesiyle) elde edilir: her 0 bir 1'e, her 1 ise bir 0'a dönüşür. Sonuç kaç bit kullandığınıza bağlı olduğundan, 4, 8, 16 veya 32 bit gibi bir bit genişliği seçmeniz gerekir. Bu gösterim, ilk bilgisayarlarda işaretli tam sayıları kodlamak için kullanılmıştır ve ikili aritmetiği ile hata denetimi (checksum) konularını incelerken hâlâ önemini korumaktadır.
Bu Hesaplama Aracı Nasıl Kullanılır?
Negatif olmayan bir ondalık sayı girin, bir bit genişliği seçin; araç sayıyı o genişliğe maskeleyip tüm bitleri ters çevirir ve sonucu hem ikili hem de ondalık biçimde gösterir. Sayınız seçilen genişliğin izin verdiğinden büyükse, çevirme işleminden önce yalnızca genişliğe sığan en düşük değerlikli bitler tutulur.
Formülün Açıklaması
Hesaplamamız şöyledir: $$\text{Sonuç} = \left(\sim n\right) \,\&\, \left(2^{w} - 1\right)$$ Buradaki \(2^{w} - 1\) terimi, w tane 1'den oluşan bir maskedir (8 bit için bu \(11111111 = 255\)'tir). Bit düzeyinde DEĞİL (\(\sim\)) işlemi n'nin her bitini ters çevirir; maske ise seçilen genişliğin üzerindeki bitleri eler, böylece sonuç aralık içinde kalır.
Çözümlü Örnek
5 sayısını 8 bit ile ele alalım. İkili tabanda \(5 = 00000101\)'dir. Tüm bitleri ters çevirdiğimizde \(11111010\) elde edilir; bu da ondalık tabanda 250'ye eşittir. Yani 5'in 8 bitlik birler tümleyeni 250'dir. 4 bit ile ise \(5 = 0101\), ters çevrildiğinde \(1010 = 10\) olur.
Sık Sorulan Sorular
Birler tümleyeni ile ikiler tümleyeni arasındaki fark nedir? İkiler tümleyeni, birler tümleyenine 1 ekler; böylece sıfırın iki farklı gösteriminin olması engellenir.
0'ın birler tümleyeni nedir? 8 bit ile \(11111111 = 255\)'tir — tüm bitler 1 olur.
Sonuç neden bit genişliğine göre değişiyor? Bitleri ters çevirme işlemi kaç bit olduğuna bağlıdır; daha geniş genişlikler başa daha fazla 1 ekleyerek daha büyük bir ondalık değer üretir.