bitClear()
Description :
Efface (écrit un 0 dans) un bit d’une variable numérique à une position spécifique. Utile pour les manipulations de bits de bas niveau, notamment avec des registres matériels, des indicateurs ou des E/S mappées en mémoire.
Syntaxe :
Utilisez la fonction suivante pour effacer l’état du bit n sur la position de la variable x :
bitClear(x, n)
Paramètres :
La fonction admet les paramètres suivants :
- x : la variable numérique dont le bit doit être effacé.
- n : quel bit effacer, en commençant à 0 pour le bit le moins significatif (le plus à droite).
Retours :
La fonction renvoie la valeur de la variable numérique après le bit à la position n soit effacé.
Exemple de code :
Modifier un octet donné x en tournant son 6ème bit vers 0 :
uint8_t x = 0b11111111; // octet initial void setup() { Serial.begin(9600); int index = 6; // index du bit à modifier x = bitClear(x, index-1); Serial.print("L'octet résultant est: "); Serial.println(x, BIN); } void loop() { }
Note :
C’est ce que la fonction bitClear() fait en coulisses :
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
Source : https://docs.arduino.cc/language-reference/en/functions/bits-and-bytes/bitClear/