Qu'est-ce que le calculateur XOR bit à bit ?
Le calculateur XOR (OU exclusif) bit à bit prend deux nombres entiers et les combine bit par bit. Pour chaque position, le bit de sortie vaut 1 lorsque les deux bits d'entrée sont différents, et 0 lorsqu'ils sont identiques. C'est l'une des opérations fondamentales en programmation, en logique numérique, en cryptographie et en détection d'erreurs.
Comment l'utiliser
Saisissez votre premier entier (A) et votre second entier (B), puis validez. Le calculateur renvoie le résultat du XOR en décimal, ainsi que ses représentations binaire et hexadécimale, ce qui vous permet de le vérifier bit par bit. Les entiers positifs comme négatifs sont acceptés.
La formule expliquée
Le XOR s'écrit A ^ B dans la plupart des langages de programmation et \( \text{A} \oplus \text{B} \) en notation mathématique :
La table de vérité pour un seul bit est la suivante : \(0 \oplus 0 = 0\), \(0 \oplus 1 = 1\), \(1 \oplus 0 = 1\), \(1 \oplus 1 = 0\). L'opération s'applique indépendamment à chaque paire de bits. Une propriété bien pratique : \(\text{A} \oplus \text{A} = 0\) et \(\text{A} \oplus 0 = \text{A}\), ce qui explique pourquoi le XOR sert à échanger des valeurs et à basculer des indicateurs (flags).
Exemple concret
Prenons \(\text{A} = 12\) et \(\text{B} = 10\). En binaire, \(12 = \texttt{1100}\) et \(10 = \texttt{1010}\). En comparant chaque colonne :
$$1 \oplus 1 = 0,\quad 1 \oplus 0 = 1,\quad 0 \oplus 1 = 1,\quad 0 \oplus 0 = 0$$ce qui donne \(\texttt{0110} = 6\). Donc \(12 \oplus 10 = 6\).
Comparaison des opérations bit à bit
Chaque opération bit à bit fonctionne un bit à la fois. Pour chaque paire de bits d'entrée \(A\) et \(B\), l'opération produit un seul bit de sortie. Le tableau ci-dessous montre la table de vérité complète sur un bit pour les six opérations les plus courantes. XOR (OU exclusif, écrit \(A \oplus B\)) produit 1 uniquement lorsque les deux bits d'entrée diffèrent.
| A | B | AND (A&B) | OR (A|B) | XOR (A^B) | NAND ~(A&B) | NOR ~(A|B) | XNOR ~(A^B) |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
Notez que XOR est le complément exact de XNOR, et que XOR est égal à 1 dans précisément les deux lignes où les entrées diffèrent. Cette propriété de « détecteur de différence » est ce qui rend XOR utile pour les contrôles de parité, le chiffrement simple et le basculement de bits.
XOR sur les paires d'entrée courantes
Le tableau suivant calcule plusieurs paires représentatives via l'opération XOR bit à bit, en affichant chaque opérande en binaire, puis le résultat en décimal, binaire et hexadécimal. XOR est effectué bit à bit : alignez les deux nombres binaires et produisez 1 partout où les bits diffèrent.
| A | B | A (binaire) | B (binaire) | A ^ B (déc) | A ^ B (binaire) | A ^ B (hex) |
|---|---|---|---|---|---|---|
| 5 | 3 | 0101 | 0011 | 6 | 0110 | 0x6 |
| 255 | 15 | 11111111 | 00001111 | 240 | 11110000 | 0xF0 |
| 12 | 12 | 1100 | 1100 | 0 | 0000 | 0x0 |
| 7 | 0 | 0111 | 0000 | 7 | 0111 | 0x7 |
| 10 | 6 | 1010 | 0110 | 12 | 1100 | 0xC |
| -1 | 1 | …11111111 | …00000001 | -2 | …11111110 | 0x…FE |
Deux modèles ressortent. Lorsqu'un opérande est 0, XOR retourne l'autre opérande inchangé (\(7 \oplus 0 = 7\)). Lorsque les deux opérandes sont identiques, XOR retourne 0 (\(12 \oplus 12 = 0\)). L'exemple négatif utilise la représentation en complément à deux : \(-1\) est constitué de tous les bits à 1, donc XORing avec n'importe quelle valeur inverse chaque bit (ceci est équivalent au NON bit à bit), donnant \(-1 \oplus 1 = -2\).
FAQ
Que signifie XOR ? OU exclusif (de l'anglais eXclusive OR) — vrai uniquement lorsque exactement une des deux entrées est vraie (1).
Pourquoi le XOR est-il utilisé en cryptographie ? Parce que faire un XOR entre des données et une clé est réversible : réappliquer la même clé restitue les données d'origine (\(\text{A} \oplus \text{K} \oplus \text{K} = \text{A}\)).
Gère-t-il les nombres négatifs ? Oui. Les valeurs négatives utilisent la représentation en complément à deux, c'est pourquoi l'affichage binaire peut comporter de nombreux bits pour les nombres négatifs.