XOR(Özel Veya) Operatörü aldığı değerler üzerinde XOR işlemi gerçekleştirir kısaca
X
|
Y
|
Sonuç
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
şeklinde sonuç üretir. Bu işlemi yapabilmek için girilen değerleri binary’e çevirdikten sonra XOR işlemine tabi tutmamız lazım
14 = 00001110 (Binary Karşılığı)
11 = 00001011 (Binary Karşılığı)
————-
5 = 00000101 (Binary Karşılığı) gibi birsonuç olacaktır. C#’da sayıları XOR işlemine tabi tutmak için “^” işareti kullanılır.
Yapacağımız örnekte kullanıcı bir metin girecek, girilen metindeki her karakter önce ascii daha sonrada binary çevirimi yapılacak ve bizim belirlediğimiz bir sayı ile XOR işlemine tabi tututalcak kodlarımız
Console.WriteLine("Kelime Girin"); string s = Console.ReadLine(); int sabit =11; string sonuc = ""; foreach (char c in s) { int yeni=System.Convert.ToInt32(c)^sabit; Console.WriteLine(Binary(System.Convert.ToInt32(c)) + "-"+Binary(sabit)+"= "+ Binary(yeni)+" "+Convert.ToChar(yeni)); sonuc += Convert.ToChar(yeni);// https://www.bilisimogretmeni.com/ } Console.WriteLine(sonuc); Console.ReadKey(); } static string Binary(int n) { char[] b = new char[32]; int pos = 31; int i = 0; while (i < 32) { if ((n & (1 << i)) != 0) { b[pos] = '1'; } else { b[pos] = '0'; } pos--; i++; } return new string(b); }