- Soustraction

Description

Ces opérateurs renvoient respectivement la différence entre deux opérandes (= entre deux termes). Cette opération est réalisée en utilisant le type des données des opérandes. Ainsi par exemple, 9 / 4 donne 2 dès lors que 9 et 4 sont de type int. Cela signifie cependant que l'opération peut déborder si le résultat est plus grand que ce que le type de donnée utilisé peut contenir (càd qu'en additionnant 1 en tant que int avec la valeur 32 767 cela donne -32 768 en raison du débordement).

Si les opérandes sont de deux types de donnée différents, le plus "grand" est utilisé pour le calcul.

Si un des nombres (opérandes) est du type float ou double, le calcul dit "en virgule flottante" est utilisé pour le calcul (càd que 9/4 donne 2.25).

Syntaxe

result = value1 - value2;

Paramètres

  • value1: tout type de variable ou constante numérique
  • value2: tout type de variable ou constante numérique

Exemple

int a = 5; int b = 10; int c = 0; c = a - b; // the variable 'c' gets a value of -5 after this statement is executed

※ Remarque:

  • Il faut savoir que les constantes entières sont par défaut de type int, et dès lors certains calcul entre constantes peuvent déborder (càd 60*1000 donnera un résultat négatif).
  • Choisir des tailles de variables assez grandes pour permettre de stocker les plus grands résultats issus des calculs.
  • Savoir à quel moment votre variable débordera et ce qui se passe dans chaque sens du débordement (càd 0⇒1 ou 0 ⇒ - 32768)
  • Pour les mathématiques qui nécessitent des décimales ou des fractions, utiliser les variables de type float, mais rester conscient de leurs inconvénients : large taille de mémoire, vitesse d'exécution des calculs plus lente.
  • Utiliser un opérateur de conversion de type, par exemple int(myFloat), pour convertir une variable d'un type en un autre type "à la volée".
  • Si les opérandes sont de type flottant / double et que la variable qui stocke la différence est un entier, alors seule la partie intégrale est stockée et la partie fractionnaire du nombre est perdue.
float a = 5.5; float b = 6.6; int c = 0; c = a - b; // the variable 'c' stores a value of -1 only as opposed to the expected difference of -1.1

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES