Bit Düzeyinde XOR Hesaplama Aracı Nedir?
Bit düzeyinde XOR (özel VEYA) hesaplama aracı, iki tam sayıyı alıp bunları bit bit birleştirir. Her konumda, iki giriş biti birbirinden farklıysa çıkış biti 1, aynıysa 0 olur. Programlama, sayısal mantık, kriptografi ve hata tespiti alanlarındaki temel işlemlerden biridir.
Nasıl Kullanılır?
Birinci tam sayıyı (A) ve ikinci tam sayıyı (B) girin, ardından hesaplatın. Araç, XOR sonucunu ondalık olarak verir; ayrıca bit bit doğrulayabilmeniz için ikili ve onaltılık karşılıklarını da gösterir. Hem pozitif hem negatif tam sayılar kabul edilir.
Formülün Açıklaması
XOR çoğu programlama dilinde A ^ B, matematiksel gösterimde ise $$\text{Result} = \text{A} \oplus \text{B}$$ şeklinde yazılır. Tek bit için doğruluk tablosu şöyledir: \(0 \oplus 0 = 0\), \(0 \oplus 1 = 1\), \(1 \oplus 0 = 1\), \(1 \oplus 1 = 0\). İşlem, her bit çifti için bağımsız olarak uygulanır. Pratik bir özellik: \(A \oplus A = 0\) ve \(A \oplus 0 = A\). İşte bu yüzden XOR, değer takası ve bayrak (flag) açıp kapatma için kullanılır.
Çözümlü Örnek
A = 12 ve B = 10 alalım. İkili tabanda 12 = 1100 ve 10 = 1010 olur. Her sütunu karşılaştıralım: \(1 \oplus 1 = 0\), \(1 \oplus 0 = 1\), \(0 \oplus 1 = 1\), \(0 \oplus 0 = 0\); bu da 0110 = 6 sonucunu verir. Yani $$12 \oplus 10 = 6.$$
Bitwise İşlemleri Karşılaştırması
Her bitwise işlemi bir kerede bir bit üzerinde çalışır. Her bir giriş biti çifti \(A\) ve \(B\) için, işlem tek bir çıkış biti üretir. Aşağıdaki tablo, en yaygın altı işlem için tam tek-bit doğruluk tablosunu gösterir. XOR (exclusive OR, \(A \oplus B\) olarak yazılır) çıkışı yalnızca iki giriş biti farklı olduğunda 1 verir.
| A | B | AND (A&B) | OR (A|B) | XOR (A^B) | NAND ~(A&B) | NOR ~(A|B) | XNOR ~(A^B) |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
XOR'un tam olarak XNOR'un tamamlayıcısı olduğuna ve XOR'un girdilerin uyuşmadığı tam olarak iki satırda 1'e eşit olduğuna dikkat edin. Bu "fark detektörü" özelliği, XOR'u eşlik kontrolü, basit şifreleme ve bit değiştirme için kullanışlı kılan şeydir.
Ortak Giriş Çiftleri Genelinde XOR
Aşağıdaki tablo, bitwise XOR işlemi aracılığıyla birkaç temsilci çifti çalışır, her işleneni binary biçimde, sonra sonucu ondalık, binary ve onaltılık biçimde gösterir. XOR bit-bit gerçekleştirilir: iki binary sayıyı hizalayın ve bitlerin farklı olduğu yerlerde her yerde 1 çıkışı alın.
| A | B | A (binary) | B (binary) | A ^ B (ondalık) | A ^ B (binary) | A ^ B (onaltılık) |
|---|---|---|---|---|---|---|
| 5 | 3 | 0101 | 0011 | 6 | 0110 | 0x6 |
| 255 | 15 | 11111111 | 00001111 | 240 | 11110000 | 0xF0 |
| 12 | 12 | 1100 | 1100 | 0 | 0000 | 0x0 |
| 7 | 0 | 0111 | 0000 | 7 | 0111 | 0x7 |
| 10 | 6 | 1010 | 0110 | 12 | 1100 | 0xC |
| -1 | 1 | …11111111 | …00000001 | -2 | …11111110 | 0x…FE |
İki desen öne çıkıyor. Bir işlenen 0 olduğunda, XOR diğer işleneni değişmez döndürür (\(7 \oplus 0 = 7\)). Her iki işlenen de aynı olduğunda, XOR 0 döndürür (\(12 \oplus 12 = 0\)). Negatif örnek, ikiye tümleyen temsilini kullanır: \(-1\) tüm 1-bitlerdir, bu nedenle onu herhangi bir değerle XOR yapmak her biti çevirir (bu, bitwise NOT'a eşdeğerdir), \(-1 \oplus 1 = -2\) verir.
Sıkça Sorulan Sorular
XOR ne anlama gelir? Özel VEYA (exclusive OR) demektir — yalnızca iki girişten tam olarak biri doğru (1) olduğunda doğru sonucunu verir.
XOR kriptografide neden kullanılır? Çünkü verinin bir anahtarla XOR'lanması geri alınabilir bir işlemdir: aynı anahtarı tekrar uygulamak orijinal veriyi geri getirir (\(A \oplus K \oplus K = A\)).
Negatif sayılarla çalışır mı? Evet. Negatif değerler ikiye tümleyen (two's complement) gösterimini kullanır; bu nedenle negatif sayılarda ikili gösterim çok sayıda bit içerebilir.