今回はビット処理の排他的論理和(XOR)について説明します。
前回のNOTは全ビットを反転させますが、XORは特定のビットだけを反転させることができます。
まず、XORの動作を説明します。以下はXORでのビット処理を示したものです。
0 と 0 → 0
0 と 1 → 1
1 と 0 → 1
1 と 1 → 0
何かすごく不思議な動作をするように見えます。両方のビットが同じなら0に、違う場合は1になります。一見するとまるで役に立ちそうもない動作です。
しかし、このXORの動作はプログラムにおいては、役立つことも多くあります。いくつか見てみましょう。
前回のNOTは全ビットを反転させますが、XORは特定のビットだけを反転させることができます。
まず、XORの動作を説明します。以下はXORでのビット処理を示したものです。
0 と 0 → 0
0 と 1 → 1
1 と 0 → 1
1 と 1 → 0
何かすごく不思議な動作をするように見えます。両方のビットが同じなら0に、違う場合は1になります。一見するとまるで役に立ちそうもない動作です。
しかし、このXORの動作はプログラムにおいては、役立つことも多くあります。いくつか見てみましょう。