| (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/