Açıklama
n haneli bir N sayısının 2'ye tümleyeni N≠0 için 2n - N ve N=0 için 0 olarak tanımlanır.1'e göre tümleyenle 2'ye göre tümleyen karşılaştırıldığında 2n = [(2n - 1) - N] + 1 olup, 2'ye tümleyen 1'e tümleyenin bir fazlasıdır. Daha basit bir şekilde anlatmak istenirse; 2'ye tümleyeni alınan sayının en düşük anlamlı sıfırları ilk 1 gelene kadar değiştirilmeden bırakılıp, bu 1'den sonraki yüksek anlamlı hanelerde 0'lar 1 ile 1'ler de 0 ile değiştirilir.
Örnek 011010010 sayısının 2'ye tümleyeni 100101110 110011011 sayısının 2'ye tümleyeni 001100101
Eğer burada 2'ye tümleyenini alacağımız sayı kesirliyse, sayıdaki tam ve kesirli kısmı ayıran virgül yokmuş gibi davranılarak sayı bir bütün olarak ele alınır. Tümleyen bulunduktan sonra kaldırdığımız virgülü eski yerine koyarız.
Bugünkü modern bilgisayarlarda 2'ye tümleyenin tercih edilmesinin birçok önemli sebebi vardır.
- Bir sayının işareti, gösterimindeki yüksek haneli bitin düzenlenmesiyle ifade edilir. buna göre 2'ye tümleyende negatif sayıların yüksek haneli bitinde 1'ler varken, pozitif sayılarinkinde 0 vardır.
- Bir sayının iki kere üst üste tümleyenini almak orijinal sayıyı verir. Böylelikle negaitf bir sayının negatifini bulmak için özel bir donanım gerekmez.
- 2'ye tümleyende 0'ın sadece bir gösterimi vardır. Bu da 1'e tümleyende ve işaretli büyüklük gösteriminde oluşan + 0 ve - 0 sorununu ortadan kaldırır.
- 2'ye tümleyende pozitif ve negaitf iki sayının toplama işleminde (taşmaları atarak) sonuç negatif ise ikiye tümleyen biçimindedir.
- n bitte 2'ye tümleyenle - (2n-1)'den + (2n-1 - 1)'e kadarki tamsayı değerleri ifade edilebilir. Burada bir simetrinin olmaması 0'ın tek gösteriminden kaynaklıdır.
İşaretli Büyüklük Gösterimi
3 Bitlik Sayıların İşaretsiz, İşaret Bitli, 1'e Tümleyen ve 2'ye tümleyenle Gösterimleri
Negatif sayıların gösteriminde donanımdaki sınırlamalardan dolayı, bit adı verilen ikili sayılardan yararlanılır. İşaretli ya da işaretsiz bütün ikili sayılar bilgisayarda bitlerle ifade edilir. Sayının işaretli olup olmadığı önceden belirlenir. Eğer ikilik tabanda bir sayı işaretli olarak belirlenmişse en soldaki bit sayının işaretini, geri kalan bitler ise sayıyı ifade eder. Eğer sayı işaretsiz olarak belirlenmişse en soldaki bit sayının en anlamlı biti olur.Burada, işaret biti olarak pozitif sayılar için 0, negatif sayılar için ise 1 kullanılır. Örneğin; 0110 işaretsiz ikili sayısı olarak onluk tabanda 6, işaretli olaraksa + 6 anlamına gelir. 1110 ise işaretsiz olarak onluk tabanda 14 iken işaretli olarak - 6'ya eşdeğerdir.
İşaretli Tümleyen Gösterimi
Negatif bir sayı tümleyeni ile de ifade edilebilir. İşaretli büyüklük gösteriminden farklı olarak, işaretli büyüklük gösteriminde bir sayının ters işaretlisi o sayının sadece işaret bitini değiştirerek elde edilirken, tümleyenle gösterimde ise işaret değiştirmek için sayının tümleyeni alınır. Pozitif sayılar herzaman için en solunda 0 biti ile başlayacağından, tümleyeni de bu pozitif sayının negatifi olmak üzere 1 ile başlayacaktır. Buna göre; 2'ye tümleyende bir negatif sayı sayının işaretsiz gösterimindeki her bitin tersinin alınıp bulunan sonuca 1 eklenmesiyle ifade edilir. 12 sayısını ele alırsak, bunun ikilik tabanda 8 bitle gösterildiği durumu inceleyelim. + 12 sayısı en soldaki 0 işaret bitinin ardından 12'nin ikilik tabanda ifade edilmesiyle elde edilir. Buna göre + 12, 00001100'dur. - 12 sayısını üç şekilde ifade edebiliriz:
İşaretli büyüklük gösterimi = 10001100 İşaretli 1'e tümleyen gösterimi = 11110011 İşaretli 2'ye tümleyen gösterimi = 11110100
2'ye tümleyende - 12 bulunurken;
12 : 00001100 Her hanenin tersi alınır: 11110011 Sonuca 1 eklenir : 11110100 + 12 ve - 12 gösterimlerinin toplamı 00001100 + 11110100 = 1000000002dır. Bu 9 bitlik işaretsiz bir sayıdır ve bu sayı da 28 = 256'dır. Ancak biz sonucu 8 bitlik 2'ye tümleyen bir sayı olarak ele alırsak 1'i 8 bitlik hesaplamada oluşan bir taşma biti olarak düşünür ve atarız. Yani sonuç 00000000 = 0'ı elde ederiz. Bu da + 12 ve - 12'nin toplamından bekleyeceğimiz bir sonuçtur.
Aritmetik İşlemler
Aritmetik Toplama
Farklı işaretli 2'ye tümleyen ile ifade edilen iki sayıyı topluyorsak herhangi özel bir işleme ihtiyacımız yoktur. Çünkü bu durumlarda taşma oluşmaz. 2'ye tümleyen biçiminde ifade edilen işaretli negatif iki sayının toplamı, işaret bitleri de dahil olmak üzere iki sayının toplanmasıyla bulunur. İşaret bitlerinin toplanmasıyla oluşan elde atılır. Oluşan sonuç eğer negatifse bu 2'ye tümleyen biçimindedir.
Örnek
Kod:
00000011 (elde) 00001111 (elde)
00000110 (+6) 11111010 (-6)
+ 00001101 (+13) + 00001101 (+13)
=========== ===========
00010011 (+19) 00000111 (+7)
00000011 (elde) 11111001 (elde)
00000110 (+6) 11111010 (-6)
+ 11110011 (-13) + 11110011 (-13)
=========== ===========
11111001 (-7) 11101101 (-19)
Örnek
Kod:
00110 (+6)
+ 01101 (+13)
========
10011 (-3) (taşma)
İkilik tabanda çıkarma işlemi onluk tabanda yapılan çıkarma işlemi mantığıyla aynıdır. Eğer çıkarılan hane çıkan haneden daha küçükse, yüksek anlamlı haneden ödünç 1 alınır. Ancak 2'ye tümleyen yöntemiyle çıkarma işlemini yapmak çok daha verimli bir yöntemdir. Buna göre çıkan sayının 2'ye tümleyeni alınıp çıkarılan sayıya eklenerek sonuç elde edilir. + 7'den + 6'yı çıkaralım:
Örnek
Kod:
0111 (+7) 0111 (+7) - 0110 (+6) + 1010 (-6) ======= ======= 0001 (+1) (1)0001 -> 1 eldesi atılır.
- Pozitif bir sayıdan negatif bir sayı çıkarılınca sonuç negatif oluyorsa
- Negatif bir sayıdan pozitif bir sayı çıkarılınca sonuç pozitif oluyorsa









Normal
