web-dev-qa-db-fra.com

Que fait l'opérateur ^ (XOR)?

Quelle opération mathématique est XOR)?

47
Hilary Park

XOR est une opération binaire, il signifie "exclusif ou", c’est-à-dire que le bit résultant est évalué à un si seulement un des bits est ensemble.

Ceci est sa table de fonction:

a | b | a ^ b
--|---|------
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

Cette opération est effectuée entre tous les deux bits correspondants d'un nombre.

Exemple: 7 ^ 10
En binaire: 0111 ^ 1010

  0111
^ 1010
======
  1101 = 13

Propriétés: L'opération est commutative, associative et auto-inverse.

C'est aussi pareil que l'addition modulo 2.

74
phant0m

^ est le opérateur python = XOR . C'est ainsi que vous épelez XOR en python:

>>> 0 ^ 0
0
>>> 0 ^ 1
1
>>> 1 ^ 0
1
>>> 1 ^ 1
0

XOR signifie OR exclusif . Il est utilisé en cryptographie car il vous permet de "retourner" les bits à l'aide d'un masque dans une opération réversible:

>>> 10 ^ 5
15
>>> 15 ^ 5
10

5 est le masque; (input XOR masque) XOR masque vous redonne la saisie.

37
Martijn Pieters