Programmer l’Arduino – Les opérateurs

Un opérateur est un symbole qui indique au compilateur d’effectuer des fonctions mathématiques ou logiques spécifiques. Le langage C est riche en opérateurs intégrés et fournit les types d’opérateurs suivants:

  • Opérateurs arithmétiques
  • Opérateurs de comparaison
  • Opérateurs booléens
  • Opérateurs bit à bit
  • Opérateurs composés

 
 

Opérateurs arithmétiques

Supposons que la variable A détient la valeur 10 et la variable B détient la valeur 20 alors

Nom de l’opérateur Opérateur Description Exemple
Opérateur d’affectation = Stocke la valeur à droite du signe égal dans la variable à gauche du signe égal. A = B
addition + Ajoute deux opérandes A + B donnera 30
soustraction Soustrait le second opérande du premier A – B donnera -10
multiplication * Multipliez les deux opérandes A * B donnera 200
division / Diviser le numérateur par dénominateur B / Adonnera 2
modulo % Opérateur modulo et le reste d’après une division entière B % A donnera 0

Exemple :

void loop() {
   int a = 10,b = 20,c;
   c = a + b;
   c = a - b;
   c = a * b;
   c = a / b;
   c = a % b;
} 

 

Opérateurs de comparaison

Supposons que la variable A détient la valeur 10 et la variable B détient la valeur 20 alors

Nom de l’opérateur Opérateur Description Exemple
égal à == Vérifie si la valeur de deux opérandes est égale ou non, si oui, la condition devient vraie. (A == B) est faux
différent de != Vérifie si la valeur de deux opérandes est égale ou non, si les valeurs ne sont pas égales, la condition devient vraie. (A != B) est vrai
inférieur < Vérifie si la valeur de l’opérande gauche est inférieure à la valeur de l’opérande droit, si oui, la condition devient vraie. (A < B) est vrai
supérieur > Vérifie si la valeur de l’opérande gauche est supérieure à la valeur de l’opérande droit, si oui, la condition devient vraie. (A > B) est faux
inférieur ou égal à <= Vérifie si la valeur de l’opérande gauche est inférieure ou égale à la valeur de l’opérande droit, si oui, la condition devient vraie. (A <= B) est vrai
supérieur ou égal à >= Vérifie si la valeur de l’opérande gauche est supérieure ou égale à la valeur de l’opérande droit, si oui, la condition devient vraie. (A >= B) est faux

Exemple :

void loop () { 
   int x = 10,y = 5
   bool z = false;
   if(x == y)
      z = true;
   else
      z = false;

   if(x != y)
      z = true;
   else
      z = false;
   
   if(x < y)
      z = true;
   else
      z = false;
   
   if(x > y)
      z = true;
   else
      z = false;
   
   if(x <= y)
      z = true;
   else
      z = false;
   
   if(x >= y)
      z = true;
   else
      z = false;
}

Résultat :

z = false
z = true
z = false
z = true
z = false
z = false

 
 

Opérateurs booléens

Supposons que la variable A détient la valeur 10 et la variable B détient la valeur 20 alors

Nom de l’opérateur Opérateur Description Exemple
and && Opérateur logique AND. Si les deux opérandes ne sont pas zéro alors la condition devient vraie. (A && B) est vrai
or || Opérateur logique OR. Si l’un des deux opérandes n’est pas nul, alors la condition devient vraie. (A || B) est vrai
not ! Opérateur logique NOT. Utilisé pour inverser l’état logique de son opérande. Si une condition est vraie, l’opérateur logique NOT fera fausses. !(A && B) est faux

Exemple :

void loop () {
   int x = 9,y = 4
   bool z = false;
   if((x > y)&& (y < x))
      z = true;
   else
      z = false;

   if((x == y)|| (y < x))
      z = true;
   else
      z = false;

   if( !(x == y)&& (y < x))
      z = true;
   else
      z = false;
} 

Résultat :

z = true
z = true
z = true

 

Opérateurs bit à bit

Supposons que la variable A détient la valeur 60 et la variable B détient la valeur 13 alors

Nom de l’opérateur Opérateur Description Exemple
and & L’opération binaire AND (aussi connue sous le nom de « fonction AND ») produira toujours une sortie si les deux entrées sont 1 et produiront une sortie 0 si une ou les deux entrées sont 0. (A & B) donnera 12 lequel est 0000 1100
or | L’opération binaire OR (également appelée fonction OR binaire) produira toujours une sortie si l’une de ses entrées est 1 et produira une sortie 0 si les deux entrées sont 0. (A | B) donnera 61 lequel est 0011 1101
xor ^ L’opération binaire XOR  (également appelée la fonction XOR binaire) produira toujours une sortie si l’une de ses entrées est 1 et produira une sortie 0 si les deux entrées sont 0 ou 1. (A ^ B) donnera 49 lequel est 0011 0001
not ~ L’opérateur unaire et a pour effet de « flipping » bits. (~A ) donnera -60 lequel est 1100 0011
shift left << Décalage vers la gauche les bits d’une expression A << 2 donnera 240 lequel est 1111 0000
shift right >> Décalage vers la droit les bits d’une expression A >> 2 donnera 15 lequel est 0000 1111

Exemple :

void loop() {
   int x = 10,y = 20
   int z = 0;
   z = x & y ;
   z = x | y ;
   z = x ^ y ;
   z = x ~ y ;
   z = x << y ;
   z = x >> y ; 
}

Résultat :

z = 12
z = 61
z = 49
z = -60
z = 240
z = 15

 
 

Opérateurs composés

Supposons que la variable A détient la valeur 10 et la variable B détient la valeur 20 alors

Nom de l’opérateur Opérateur Description Exemple
incrémentation ++ L’opérateur d’incrémentation, augmente la valeur d’un entière à 1 A++ donnera 11
Décrémentation L’opérateur de décrémentation, diminue la valeur d’un entière à 1 A– donnera 9
Addition composé += Addition combinée à l’affectation, ajoute l’opérande droit à l’opérande gauche et attribue le résultat à l’opérande gauche B += A est équivalent à B = B+ A
Soustraction composée -= Soustraction combinée à l’affectation, soustrait l’opérande droit de l’opérande gauche et affecte le résultat à l’opérande gauche B -= A est équivalent à B = B – A
Multiplication composée *= Multiplication combinée à l’affectation, Il multiplie l’opérande droit avec l’opérande gauche et attribue le résultat à l’opérande gauche B*= A est équivalent à B = B* A
Division composée /= Division combinée à l’affectation, Il divise l’opérande gauche avec l’opérande droit et attribue le résultat à l’opérande gauche B /= A est équivalent à B = B / A
Modulo composé %= Modulo combinée à l’affectation, il prend le module en utilisant deux opérandes et affecte le résultat à l’opérande gauche B %= A est équivalent à B = B % A
OR binaire Composé |= OU inclusif combinée à l’affectation A |= 2 est identique à A = A | 2
AND binaire Composé &= AND binaire combinée à l’affectation A &= 2 est identique à A = A & 2

Exemple :

void loop () {
   int x = 10,y = 20
   
   x++;
   x--;
   y += x;
   y -= x;
   y *= x;
   y /= x;
  x %= y;
  x |= y;
  x &= y;
}

Résultat :

x = 11
x = 9
y = 30
y = 10
y = 200
y = 2
x = 0
x = 61
x = 12

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *