&= (ET bit à bit composé)

Description

L'opérateur bit à bit ET composé (&=) est souvent utilisé avec une variable ou une constante pour mettre des bits particuliers de la variable à 0. Ceci est souvent appelé dans les guides de programmation le "nettoyage" ou la "réinitialisation" des bits.

Syntaxe

x &= y; // équivalent de x = x & y;

Paramètres

  • x: une variable entière de type char, int ou long
  • y: une constante entière ou une variable entière de type char, int, ou long

Exemple

Tout d'abord, revoyons comment l'opérateur bit à bit ET fonctionne:

0 0 1 1 opérande 1 (1ère valeur entière) 0 1 0 1 opérande 2 (2ème valeur entière) ---------- 0 0 0 1 (opérande1 & opérande2) - résultat renvoyé

Les bits qui sont "ET bit à bitarisés" avec 0 sont mis à 0, donc si myByte est une variable de type byte,

myByte & B00000000 = 0;

Les bits qui sont "ET bit à bitarisés" avec 1 sont inchangés, et donc:

myByte & B11111111 = myByte;

※ Remarque:

puisque nous traitons des bits avec les opérateurs bits à bits, il est plus pratique d'utiliser les expressions sous forme binaire. Les nombres ont exactement la même valeur dans les autres représentations, ils sont juste moins facile à comprendre. Ainsi, B00000000 est développé par clarté, mais 0 dans un autre format est 0 (hmmm... quelque chose de philosophique derrière çà ? ... qu'est-ce qu'un nombre ?...)

En conséquence, pour mettre à 0 les bits 0 et 1 d'une variable, en laissant le reste de la variable inchangé, utiliser l'opérateur OU bit à bit composé avec la constante B11111100:

1 0 1 0 1 0 1 0 variable 1 1 1 1 1 1 0 0 masque ---------------------- 1 0 1 0 1 0 0 0 résultat - Les 2ers bits à 0 - le reste de la variable est inchangé

Ici, la même représentation avec les bits de la variable remplacés avec le symbole x (représentant la valeur 0 ou 1)`:

x x x x x x x x variable 1 1 1 1 1 1 0 0 masque ---------------------- x x x x x x 0 0 résultat - Les 2ers bits à 0 - le reste de la variable est inchangé

Ainsi:

myByte = 10101010; myByte &= B1111100 == B10101000;
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.