|

| (OU au niveau du bit)


Description :

L’opérateur OU binaire en C++ est le symbole de la barre verticale |. Comme l’opérateur &, | opère indépendamment sur chaque bit des deux expressions entières qui l’entourent, mais son action est différente (bien sûr). L’opérateur OU binaire de deux bits vaut 1 si l’un ou les deux bits d’entrée sont à 1 ; sinon, il vaut 0.

En d’autres termes :

0  0  1  1    operand1
0  1  0  1    operand2
----------
0  1  1  1    (operand1 | operand2) - returned result

Exemple de code :

int a =  92;    // en binaire: 0000000001011100
    int b = 101;    // en binaire: 0000000001100101
    int c = a | b;  // résultat:    0000000001111101, ou 125 en décimal.

L’une des utilisations les plus courantes du OU au niveau du bit est de définir plusieurs bits dans un nombre compacté en bits.

// Remarque : ce code est spécifique à l'architecture AVR
    // définir les bits de direction pour les broches 2 à 7, laisser PD0 et PD1 intacts (xx | 00 == xx)
    // pareil que pinMode(pin, OUTPUT) pour les broches 2 à 7 sur Uno ou Nano
    DDRD = DDRD | 0b11111100;


Source : https://docs.arduino.cc/language-reference/en/structure/bitwise-operators/bitwiseOr/

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *