ちょっとc言語について書いていい?てか書くね
x,yに初期値を入力して、xとyの値を入れ替えたものを表示するってプログラム作るとするじゃん?
int x,y,z
x = 1;
y = 2;
z = 0;
として
z = x;
x = y;
y = z;
で入れ替え完了なんだけど、なんと変数x,yの2つだけで入れ替え出来ちゃうんですよ!!それが「排他的論理和」の考え方なんです!
例
x=10110001
y=01100110 とすると排他的論理和をtとすると
t=11010111 と、言うふうに同じ値なら0、異なる値なら1という計算なのね!これを上手く利用すると
int x,y;
x = 1;
y = 2;
として
x ^= y;
y ^= x;
x ^= y;
これだけで入れ替え完了なんです!
排他的論理和様大好きです♡