MCP ile bağlan →

Hesaplamaya Girin

Formül

Reklam

Sonuç

Two's Complement Binary (8-bit)
11111011
ikiye tümleyen gösterimi
İşaretsiz değer 251
İşaretli değer -5
Bit genişliği 8 bit

İkiye Tümleyen Hesaplama Aracı nedir?

İkiye tümleyen (two's complement), bilgisayarların işaretli tam sayıları saklamak için kullandığı standart yöntemdir. Bu araç, herhangi bir ondalık sayıyı seçtiğiniz bit genişliğine (4, 8, 16 veya 32 bit) göre ikiye tümleyen ikilik gösterimine dönüştürür ve hem işaretsiz bit deseninin değerini hem de o bitlerin temsil ettiği işaretli değeri gösterir.

Nasıl kullanılır?

Pozitif ya da negatif bir ondalık sayı girin ve bit genişliğini seçin. Araç sayıyı \(2^n\) tabanında mod alarak indirger ve bir işlemcinin (CPU) saklayacağı kesin bit desenini üretir. Ayrıca aynı desenin hangi işaretli değere karşılık geldiğini de söyler; böylece dönüşümün doğruluğunu rahatça kontrol edebilirsiniz.

Formülün açıklaması

n bitlik bir alan için işaretsiz gösterim şöyledir: $$u = ((x \bmod 2^n) + 2^n) \bmod 2^n.$$ Bu işlem negatif sayıları sarmalayarak (wrap) dönüştürür: 8 bitte −5 değeri \(256 - 5 = 251\) olur ve bunun ikilik karşılığı 11111011'dir. Bir deseni tekrar işaretli değere çözmek için en anlamlı bite (MSB) bakın: eğer 1 ise (yani \(u \ge 2^{n-1}\)), değer \(u - 2^n\) olur; aksi takdirde basitçe \(u\) değerine eşittir. Negatif almanın eşdeğer bir yolu da tüm bitleri terslemek ve bir eklemektir: \(\sim x + 1\).

Number line showing unsigned values wrapping into signed positive and negative ranges
Values at or above 2^(n-1) wrap to negative; the upper unsigned half maps to negative signed numbers.

Örnek çözüm

−5 sayısını 8 bitlik ikiye tümleyene çevirelim. 1. Adım: \(2^8 = 256\). 2. Adım: $$u = ((-5 \bmod 256) + 256) \bmod 256 = 251.$$ 3. Adım: 251'in ikilik karşılığı 11111011'dir. MSB 1 olduğundan işaretli değer \(251 - 256 = -5\)'tir ve bu da dönüşümün doğru olduğunu teyit eder.

Step diagram converting a negative decimal to two's complement binary
Two's complement of a negative value: invert the bits of the magnitude, then add one.

Sıkça Sorulan Sorular

Sayım bit genişliği için çok büyükse ne olur? Tıpkı donanımın yaptığı gibi \(2^n\) tabanında sarmalanır (taşma / overflow). Örneğin 8 bitte 300 sayısı \(300 - 256 = 44\) olur.

İşaretsiz değer neden işaretli değerden farklı çıkıyor? Aynı bitler iki farklı şekilde okunabilir. İşaretsiz okumada tüm bitler pozitif kabul edilir; işaretli okumada ise en üstteki bit negatif bir ağırlık taşır.

64 bit destekleniyor mu? Bu araç, sonuçları güvenli hassasiyet sınırları içinde tutmak için en fazla 32 bitlik yaygın genişlikleri destekler.

Son güncelleme: