^ (Opérateur "bit à bit" OU EXCLUSIF)

Description

Il existe un opérateur inhabituel en langage C++ appelé opérateur bit à bit OU EXCLUSIF, également connu sous le nom d'opérateur "bit à bit" XOR. (En anglais, cela se prononce "eks-or"). L'opérateur "bit à bit" OU EXCLUSIF est écrit en utilisant le symbole ^. Cet opérateur est très semblable à l'opérateur |, à la différence qu'il renvoie la valeur 0 sir les deux bits d'entrée sont à 1 :

0 0 1 1 opérande1 0 1 0 1 opérande2 ---------- 0 1 1 0 (opérande1 ^ opérande2) - résultat renvoyé

Une autre façon de voir l'opérateur OU EXCLUSIF est que le bit de résultat vaut 1 si (et seulement si) les entrées sont différentes, ou 0 si elles sont identiques.

Syntaxe

Voici un code d'exemple simple :

int x = 12; // binaire: 1100 int y = 10; // binaire: 1010 int z = x ^ y; // binaire: 0110, ou 6 en décimal

Exemple

L'opérateur ^ est souvent utilisé pour inversé (càd changer les 0 en 1 et les 1 en 0) de quelques bits d'une expression entière. Dans une opération bit à bit OU EXCLUSIF, si il y a un 1 dans le bit de masque, ce bit sera inversé; si il y a un 0, le bit n'est pas inversé et reste le même. Voici un programme qui fait clignoter la broche numérique 5 :

// fait clignoter la broche 5 // demo du OU EXCLUSIF void setup() { DDRD = DDRD | B00100000; // met la broche 5 en sortie Serial.begin(9600); // initialise la connexion série } void loop() { PORTD = PORTD ^ B00100000; // inverse le bit 5 (broche numérique 5), laisse les autres inchangées delay(100); }

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES