Le ou exclusif (xor)
Le tableau suivant donne la valeur du ou-exclusif de 2 bits, noté
xor:
0 ^ 0 = 0 |
0 ^ 1 = 1 |
1 ^ 0 = 1 |
1 ^ 1 = 0 |
En Java ou en C/C++, l'opérateur arithmétique ^
impléménte le ou-exclusif bit-à-bit; en C++, il
est fourni pour tous les types entiers: bool, char, short, int, long et leurs
versions unsigned.
Exemple :
int i,j;
...
int k = i ^ j ;
calcule dans k le ou exclusif bit à bit des 2 entiers "int" i et j.
Ainsi, pour i=23="10111" et j=
134="10000110", on a k=
145= "10010001" comme le montre le tableau ci-dessous:
|
10111 |
23 |
(16+4+2+1) |
^ |
10000110 |
134 |
(128+4+2) |
= |
10010001 |
145 |
(128+16+1) |