logo

1'in tümleyenini kullanarak Toplama ve Çıkarma

Önceki bölümümüzde 1'in tümleyeni, 2'nin tümleyeni, 9'un tümleyeni, 10'un tümleyeni gibi farklı tümleyenleri öğrendik. Bu bölümde 1'in tümleyenini kullanarak toplama ve çıkarma gibi aritmetik işlemleri yapmayı öğreneceğiz. Toplama ve çıkarma işlemlerini 1'ler, 2'ler, 9'lar ve 10'ların tümleyenlerini kullanarak yapabiliriz.

1'in tümleyenini kullanarak toplama

Aşağıdaki gibi iki ikili sayıyı topladığımızda mümkün olan üç farklı durum vardır:

Durum 1: Pozitif sayının büyüklüğü daha büyük olduğunda, pozitif sayının negatif bir sayıyla toplanması.

Başlangıçta verilen negatif sayının 1'e tümleyenini hesaplayın. Verilen pozitif sayıyı toplayın. Sondaki taşıma 1'i alırsak, LSB'ye eklenir.

Örnek: 1101 ve -1001

  1. Öncelikle 1001 negatif sayısının 1'e tümleyenini bulun. Yani 1'in tümleyenini bulmak için 0'ı 1'e, 1'i de 0'a değiştirin. 1001 sayısının 1'e tümleyeni 0110'dur.
  2. Şimdi her iki sayıyı da toplayın, yani 1101 ve 0110;
    1101+0110=1 0011
  3. Her iki sayıyı da toplayarak, uçtaki taşıma 1'i elde ederiz. Bu ucu taşıma etrafındaki 0011'in LSB'sine ekleriz.
    0011+1=0100

Durum 2: Negatif sayının büyüklüğünün büyük olması durumunda pozitif değerin negatif değere eklenmesi.

Başlangıçta negatif değerin 1'e tümleyenini hesaplayın. Pozitif bir sayıyla toplayın. Bu durumda, son taşımayı alamadık. Yani, nihai sonucu elde etmek için sonucun 1'e tümleyenini alın.

Not: Sonuç negatif bir değerdir.

Örnek: 1101 ve -1110

  1. Öncelikle 1110 negatif sayısının 1'e tümleyenini bulun. Yani 1'in tümleyenini bulmak için 0'ı 1'e, 1'i de 0'a değiştiririz. 1110 sayısının 1'e tümleyeni 0001'dir.
  2. Şimdi her iki sayıyı da ekleyin, yani 1101 ve 0001;
    1101+0001= 1110
  3. Şimdi nihai sonuç olan 1110 sonucunun 1'e tümleyenini bulun. Yani 1110 sonucunun 1'e tümleyeni 0001'dir ve sayının önüne negatif bir işaret ekleriz, böylece bunun negatif bir sayı olduğunu anlayabiliriz.

Durum 3: İki negatif sayının toplanması

Bu durumda önce her iki negatif sayının 1'e tümleyenini buluyoruz ve sonra bu tümleyen sayıların ikisini de topluyoruz. Bu durumda, her zaman LSB'ye eklenen uçtaki taşımayı elde ederiz ve nihai sonucu elde etmek için sonucun 1'e tümleyenini alırız.

Not: Sonuç negatif bir değerdir.

Örnek: Beş bitlik kayıtta -1101 ve -1110

  1. Öncelikle 01101 ve 01110 negatif sayılarının 1'e tümleyenini bulun. Yani 1'in tümleyenini bulmak için 0'ı 1'e, 1'i de 0'a değiştiriyoruz. 01110 sayısının 1'in tümleyeni 10001, 01101 ise 10010'dur.
  2. Şimdi hem tamamlayıcı sayıları, yani 10001 hem de 10010'u topluyoruz;
    10001+10010= 1 00011
  3. Her iki sayıyı da toplayarak, uçtaki taşıma 1'i elde ederiz. Bu uçtaki taşımayı 00011'in LSB'sine ekleriz.
    00011+1=00100
  4. Şimdi son cevap olan 00100 sonucunun 1'e tümleyenini bulun. Yani, 00100 sonucunun 1'e tümleyeni 110111'dir ve sayının önüne negatif bir işaret ekleyin, böylece bunun negatif bir sayı olduğunu belirleyebiliriz.

1'in tümleyenini kullanarak çıkarma

Bunlar, 1'in tümleyenini kullanarak iki ikili sayıyı çıkarmak için aşağıdaki adımlardır

  • İlk adımda, çıkanın 1'e tümleyenini bulun.
  • Daha sonra, tamamlayıcı sayısını eksi ile ekleyin.
  • Bir taşıma varsa, taşımayı LSB'sine ekleyin. Aksi halde negatif olacak sonucun 1'e tümleyeni alınır

Not: Çıkarılan değer her zaman eksilen değerden çıkarılır.

Örnek 1: 10101 - 00111

Çıkarılan 00111'in 1'e tümleyenini alırsak, sonuç 11000 olur. Şimdi bunları toplayın. Bu yüzden,

10101+11000 =1 01101.

Yukarıdaki sonuçta, taşıma biti 1'i elde ederiz, dolayısıyla bunu belirli bir sonucun LSB'sine ekleyin, yani cevap olan 01101+1=01110.

Örnek 2: 10101 - 10111

Çıkarılan 10111'in 1'e tümleyenini alırsak, sonuç 01000 olur. Şimdi her iki sayıyı da toplayın. Bu yüzden,

10101+01000 =11101.

Yukarıdaki sonuçta taşıma bitini alamadık. O halde sonucun 1'e tümleyenini, yani negatif sayı ve son cevap olan 00010'u hesaplayın.