Güncel değerler

Sözlük

İkiye tümleyen

Kısa tanım

Negatif tam sayıların ikilik sistemde gösterilmesi için bitlerin tersine çevrilip sonuca 1 eklenmesiyle elde edilen, bilgisayarların standart gösterim yöntemidir.

Diğer adları: İkinin tümleyeni, Two's complement, 2'ye tümleyen

Bilgisayar belleğinde eksi işareti diye bir sembol yoktur; her şey 0 ve 1'dir. Peki −5 nasıl saklanır? Neredeyse tüm işlemcilerin kullandığı yöntem ikiye tümleyendir. Bu gösterimde en soldaki bit işaret biti gibi davranır: 0 ise sayı pozitif, 1 ise negatiftir.

Negatif sayı nasıl bulunur?

  • Sayının mutlak değerini ikilik tabanda, sabit bit sayısıyla yaz.
  • Tüm bitleri ters çevir (bire tümleyen).
  • Sonuca 1 ekle.

Örnek: 8 bitte −5

5 = 00000101. Bitler ters çevrilince 11111010, 1 eklenince 11111011 olur. Onaltılık tabanda bu 0xFB'dir. Kontrol etmek için 5 ile toplarsan 8 bitte 00000000 elde edersin; taşan bit atılır. Farklı bit genişlikleriyle ikiye tümleyen hesaplayıcısıyla deneyebilirsin.

Değer aralığı

n bitlik ikiye tümleyen sayılar −2ⁿ⁻¹ ile 2ⁿ⁻¹ − 1 arasındadır. 8 bitte −128 ile 127, 16 bitte −32.768 ile 32.767, 32 bitte yaklaşık ±2,1 milyardır. Aralık asimetriktir; −128'in pozitif karşılığı 8 bite sığmaz.

Neden bu yöntem?

İşaret-büyüklük ya da bire tümleyen gösterimlerinde iki ayrı sıfır (+0 ve −0) vardır ve toplama devresi işarete göre özel durumlar içerir. İkiye tümleyende tek bir sıfır bulunur ve toplama ile çıkarma, işaretten bağımsız olarak aynı devreyle yapılır. Donanımı sadeleştiren bu özellik, yöntemi standart hâline getirmiştir.

Taşma tuzağı

8 bitte 127 + 1 işlemi 128 vermez; 10000000 yani −128 olur. Programlama dillerinde işaretli tam sayı taşması bu yüzden beklenmedik negatif değerler üretir. Aynı bit dizisinin işaretsiz yorumunda ise 128 okunur. Bit düzeyindeki bu işlemleri bitwise işlem aracında adım adım görmek kavramı pekiştirir.

Benzer terimler

İlginizi çekebilir