OU exclusif binaire (^)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

L'opérateur binaire OU exclusif (XOR) (^) renvoie un nombre dont la représentation binaire est une séquence de bits où il y a un 1 pour chaque position où exactement un des bits des deux opérandes vaut 1.

Exemple interactif

Syntaxe

js
a ^ b;

Description

Les opérandes sont convertis en entiers sur 32 bits et exprimés comme une séquence de bits. Les nombres sur plus de 32 bits ont leurs bits en excès écartés. Par exemple, l'entier suivant nécessite plus de 32 bits pour être représenté et il sera converti en un entier sur 32 bits :

Avant:  11100110111110100000000000000110000000000001
Après:              10100000000000000110000000000001

Chaque bit du premier opérande est associé avec le bit correspondant du second opérande. Lorsqu'exactement un de ces bit vaut 1, le bit correspondant du résultat sera placé à 1. Le résultat est donc construit binairement.

La table de vérité pour l'opérateur OU exclusif (XOR) est :

a b a XOR b
0 0 0
0 1 1
1 0 1
1 1 0
.    9 (base 10) = 00000000000000000000000000001001 (base 2)
    14 (base 10) = 00000000000000000000000000001110 (base 2)
                   --------------------------------

14 ^ 9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10)

Utiliser le OU exclusif binaire avec n'importe quel nombre x d'une part et 0 d'autre part renverra x.

Exemples

Utiliser le OU exclusif binaire

js
// 9  (00000000000000000000000000001001)
// 14 (00000000000000000000000000001110)

14 ^ 9;
// 7  (00000000000000000000000000000111)

Spécifications

Specification
ECMAScript Language Specification
# prod-BitwiseXORExpression

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi