поразрядное исключающее ИЛИ

Устанавливает 1 в том случае, если биты операндов отличаются.
Этот оператор является бинарным, первый операнд — изменяемая целочисленная переменная, а второй — условно называется маска. Если два бита у операндов равны, результативный бит равен нулю, если они отличаются, то единице.
Этот оператор можно применять для кодирования.
x
y
x ^ y
0
0
0
1
0
1
0
1
1
1
1
0
Чуть подробней: 3 ^ 4

0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0100
0000 0000 0000 0000 0000 0000 0000 0111
Скрыть

Показать

Копировать
  Main.cs  
  • using System;
  •  
  • class Program {
  •  public static int Main() {
  •   int val = 3;
  •  
  •   //кодируем
  •   val = val ^ 4;
  •   Console.WriteLine(val);
  •   //декодируем
  •   val = val ^ 4;
  •   Console.WriteLine(val);
  •   Console.ReadKey();
  •   return 0;
  •  }
  • }
7
3