Description :
L’opérateur ET au niveau du bit en C++ est une seule esperluette &
, utilisée entre deux autres expressions entières. ET au niveau du bit opère indépendamment sur chaque position de bit des expressions environnantes, selon cette règle : si les deux bits d’entrée sont 1, la sortie résultante est 1, sinon la sortie est 0.
Une autre façon d’exprimer cela est :
Dans Arduino, le type int est une valeur de 16 bits, donc l’utilisation de & entre deux expressions int provoque 16 opérations AND simultanées.
Exemple de code
Dans un fragment de code comme :
Chacun des 16 bits de a et b est traité à l’aide du AND au niveau du bit, et les 16 bits résultants sont stockés dans c, ce qui donne la valeur 01000100 en binaire, soit 68 en décimal.
L’une des utilisations les plus courantes de l’ET au niveau du bit consiste à sélectionner un ou plusieurs bits particuliers à partir d’une valeur entière, souvent appelée masquage. Voir ci-dessous pour un exemple (spécifique à l’architecture AVR).
Source : https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwiseand/