3) OU bit à bit exclusif (^)


L’opérateur OU bit à bit exclusif permet de stocker dans une variable la valeur correspondante aux bits de l’un ou de l’autre que possède 2 autres variable. Par exemple dans le code suivant :

Explications : la variable x possédera une valeur correspondante à 10010101, ce qui correspondra au nombre 149. En effet, si l’une des variables a et b possèdent un bit à une valeur de 1, la variable x prendra la valeur 1, si en revanche les variables a et b possèdent toutes 2 le même bit à 1, alors celui de la variable x sera à 0. Et finalement, si les bits des variables de a et b sont tous deux à 0, la variable x prendra la valeur 0. 

Pour résumer :

Pour avoir 1 dans un bit de la variable x, il faut qu’il y ait un 1 dans le même bit de la variable a OU de la variable b (mais pas dans les 2 en même temps, auquel cas c’est 0). Sinon c’est 0.

4) NON bit à bit (~)


L’opérateur NON bit à bit permet de stocker dans une variable la valeur correspondante inverse en bits d’une autre variable. Par exemple dans le code suivant :

Explications : la variable x possédera une valeur correspondante à 10100011, ce qui correspondra au nombre 163. En effet, la valeur des bits de la variable x sont opposés à ceux de la variable a (0 sur a deviendra 1 sur x, et 1 sur a deviendra 0 sur x). 

Pour résumer :

Pour avoir 1 dans un bit de la variable x, il faut qu’il y ait un 0 dans le même bit de la variable a et si la variable a, possède un 1 sur un bit, la valeur de ce bit sur x sera 0.

5) Décalage à droite des bits (>>)


L’opérateur Décalage à droite des bits permet de stocker dans une variable la valeur d’une autre variable dont les bits sont décalés d’un certain nombre de crans vers la droite. Par exemple dans le code suivant :

Explications : la variable x possédera une valeur correspondante à 00001011, ce qui correspondra au nombre 11, chaque bit se décalant d’un cran sur la droite à chaque décalage (ici un décalage de 3). 

6) Décalage à gauche des bits (<<)


L’opérateur Décalage à gauche des bits permet de stocker dans une variable la valeur d’une autre variable dont les bits sont décalés d’un certain nombre de crans vers la gauche. Par exemple dans le code suivant :

Explications : la variable x possédera une valeur correspondante à 11100000, ce qui correspondra au nombre 224, chaque bit se décalant d’un cran sur la droite à chaque décalage (ici un décalage de 3).  


VI. Opérations composées (x += y correspond à x = x + y)


Ce groupe comprends des opérateurs formés à partir de combinaison d’opérateur arithmétique ou de comparaison.

1) Additionner de… (+=)


L’opérateur Additionner de… permet d’additionner un nombre, une variable à lui-même et à un autre nombre. En d’autres terme, cela donne à une variable une nouvelle valeur, celle de son addition avec une autre variable. Par exemple dans le code suivant :

Explications : après avoir défini la variable X de type int, à une valeur de départ de 2. On utilise l’opérateur Additionner de… suivi du chiffre 3, ce qui donnera à X une nouvelle valeur de 5 (car X = X + 3 donc X = 2 + 3 = 5).

2) Soustraire de… (-=)


L’opérateur Soustraire de… permet de soustraire un nombre, une variable à lui-même et à un autre nombre. En d’autres terme, cela donne à une variable une nouvelle valeur, celle de sa soustraction avec une autre variable. Par exemple dans le code suivant :

Explications : après avoir défini la variable X de type int, à une valeur de départ de 4. On utilise l’opérateur Soustraire de… suivi du chiffre 3, ce qui donnera à X une nouvelle valeur de 1 (car X = X - 3 donc X = 4 – 3 = 1).

3) Multiplier par… (*=)


L’opérateur Multiplier par… permet de multiplier un nombre, une variable à lui-même et à un autre nombre. En d’autres terme, cela donne à une variable une nouvelle valeur, celle de sa multiplication avec une autre variable. Par exemple dans le code suivant :

Explications : après avoir défini la variable X de type int, à une valeur de départ de 4. On utilise l’opérateur Multiplier par… suivi du chiffre 3, ce qui donnera à X une nouvelle valeur de 12 (car X = X * 3 donc X = 4 * 3 = 12).

4) Diviser par… (/=)


L’opérateur Diviser par… permet de diviser un nombre, une variable à lui-même et à un autre nombre. En d’autres terme, cela donne à une variable une nouvelle valeur, celle de sa division avec une autre variable. Par exemple dans le code suivant :

Explications : après avoir défini la variable X de type int, à une valeur de départ de 12. On utilise l’opérateur Diviser par… suivi du chiffre 3, ce qui donnera à X une nouvelle valeur de 4 (car X = X ÷ 3 donc X = 12 ÷ 3 = 4).

5) Reste de la division (entier) par… (%=)


L’opérateur Reste de la division par… permet d’obtenir le reste (sous la forme d’un entier) d’une division, d’une variable à elle-même et à un autre nombre. En d’autres terme, cela donne à une variable une nouvelle valeur, celle du reste de sa division avec une autre variable. Par exemple dans le code suivant :

Explications : après avoir défini la variable X de type int, à une valeur de départ de 14. On utilise l’opérateur Reste de division par… suivi du chiffre 3, ce qui donnera à X une nouvelle valeur de 2 (car X = X ÷ 3 donc X = 14 ÷ 3 = 4, et il reste 2).

 

Attention : l’opérateur % est différent de l’opérateur =% dans le sens ou l’opérateur % donne juste le résultat, alors que l’opérateur =% permet de donner cette valeur à la variable qui le compose. 

6) ET composé… (&=)


L’opérateur ET composé est comme l’indique le site officiel Arduino.cc, souvent utiliser pour forcer des bits particuliers d’une variable à passer à l’état Bas (0). Cette technique est souvent désignée dans les manuels de programmation par les termes de "effacement" ou "réinitialisation" des bits.

 

En effet, il combine à la fois le ET bit à bit et le symbole assigné. Ce qui permet d’additionner 2 bits ensembles, et de donnée à une variable cette nouvelle valeur.

 

Par exemple dans le code suivant :

Explications : la variable a, possédera une nouvelle valeur correspondante à 01001000, ce qui correspondra au nombre 72. En effet, si chaque bit des variables a et b sont identiques, alors ceux de la nouvelle valeur de a seront identiques aussi. Et si les bits des variables a et b sont différents alors ceux de a correspondront à la valeur 0.

Pour résumer :

Pour avoir 1 dans un bit de la nouvelle variable a, il faut qu’il y ait un 1 dans le même bit de la variable a ET b. Sinon c’est 0.

 

Et comme on utilise le symbole affecté (=) alors la valeur de la variable a est remplacée par une nouvelle valeur, celle, de cette addition.

 

Utilisation :

Comme annoncé sur le site Arduino.cc, cet opérateur permet de forcer des bits particuliers d’une variable à passer à l’état Bas (0), car seul les bits à l’état haut (1) sont comptabilisés pour former cette nouvelle variable. Si entre les variables a et b, les bits sont différents (0 pour l’un) ou (1 pour l’autre) alors la nouvelle variable sera composée de 0. Ce qui donnera plus de 0 que de 1.

7) OU composé… (|=)


L’opérateur OU composé est comme l’indique le site officiel Arduino.cc, souvent utiliser pour forcer des bits particuliers d’une variable à passer à l’état Haut (1).

 

En effet, il combine à la fois le OU bit à bit et le symbole assigné. Ce qui permet d’additionner 2 bits ensembles, et de donnée à une variable cette nouvelle valeur.

 

Par exemple dans le code suivant :

Explications : la variable a, possédera une nouvelle valeur correspondante à 11011101, ce qui correspondra au nombre 221. En effet, si chaque bit des variables a et b possède un 1, alors ceux de la nouvelle valeur de a posséderont également un 1. Et si les bits des variables a et b possèdent tous les 2 zéro alors ceux de la nouvelle valeur de a correspondront à la valeur 0. 

Pour résumer :

Pour avoir 1 dans un bit de la nouvelle variable a, il faut qu’il y ait un 1 dans le même bit de la variable a OU b. Sinon c’est 0.

 

Et comme on utilise le symbole affecté (=) alors la valeur de la variable a est remplacée par une nouvelle valeur, celle, de cette addition.

 

Utilisation :

Comme annoncé sur le site Arduino.cc, cet opérateur permet de forcer des bits particuliers d’une variable à passer à l’état Haut (1), car tous les bits à l’état haut (1) sont comptabilisés pour former cette nouvelle variable. 

8) Décrémenter ou Soustraire de 1 (--)


L’opérateur Soustraire de 1 permet de décrémenter une variable, c’est-à-dire de réduire sa valeur de 1 en 1. Par exemple dans le code suivant, le cas d’une boucle for :

Explications : lorsque la variable du nom de x de type int d’une valeur de départ de 100, est inférieur ou égale à 100, celle-ci se décrémente, diminue de 1 en 1 à chaque passage du Loop.

 

Le Serial.println permet d’afficher le résultat dans le moniteur série de l’Arduino IDE.

 

Ce qui crée un compte à rebours, ici partant de 100 et descendant jusqu’à ici -32768 (car il s’agit d’une variable de type int).

9) Incrémenter ou Additionner de 1 (++)


L’opérateur Additionner de 1 permet d’incrémenter une variable, c’est-à-dire d’augmenter sa valeur de 1 en 1. Par exemple dans le code suivant, le cas d’une boucle for :

Explications : lorsque la variable du nom de x de type int d’une valeur de départ de 0, est supérieur ou égale à 0, celle-ci s’incrémente, augmente de 1 en 1 à chaque passage du Loop.

 

Le Serial.println permet d’afficher le résultat dans le moniteur série de l’Arduino IDE.

 

Ce qui crée un compteur partant de zéro et montant jusqu’à ici 32767 (car il s’agit d’une variable de type int).

Sources :


Rappel :


les images présentent appartiennent au Domaine public et sont l’œuvre de Peggy_Marco sur le site Pixabay : https://pixabay.com/fr/users/Peggy_Marco-1553824/   ou proviennent du projet Fritzing : http://fritzing.org/home/