排他的論理和
ビットごとの排他的論理和は、コンピュータ上でビット演算を行っている場合に、特定のビットだけを反転させるのによく用いられる。ある数値と、その数値のビットを反転させたい部分を 1 にした数値との排他的論理和をとると、指定した部分が反転した数値が得られる:
0011 ( 2 ) ⊕ 0110 ( 2 ) = 0101 ( 2 ) {\displaystyle 0011_{(2)}\oplus 0110_{(2)}=0101_{(2)}}
多くのプロセッサで、レジスタをゼロにする場合に、直接ゼロをレジスタへ転送するより、自分自身とのXORをとってゼロとするほうが有利な場合がある。
X ⊕ X = 0 {\displaystyle X\oplus X=0}
主に以下の条件が成立する場合、言語処理系が最適化の一環としてXORを用いる。
即値のゼロを省略することにより、コードサイズが削減できる。
処理がレジスタとALUのみで完結するので、サイクル数や消費電力が削減できる。