|

Constantes entières


Description :

Les constantes entières sont des nombres utilisés directement dans un schéma, comme 123. Par défaut, ces nombres sont traités comme des entiers ( int ) , mais vous pouvez modifier ce comportement avec les modificateurs U et L (voir ci-dessous).

Normalement, les constantes entières sont traitées comme des entiers décimaux (base 10), mais une notation spéciale (formateurs) peut être utilisée pour saisir des nombres dans d’autres bases.

BaseExempleFormateurCommentaire
10 (decimal)123none
2 (binary)0b1111011leading « 0b »characters 0 & 1 valid
8 (octal)0173leading « 0 »characters 0-7 valid
16 (hexadecimal)0x7Bleading « 0x »characters 0-9, A-F, a-f valid

Decimal (base 10) :

Il s’agit des mathématiques de bon sens que vous connaissez. Les constantes sans autre préfixe sont supposées être au format décimal.

Exemple de code :

n = 101;  // identique à 101 décimal ((1 * 10^2) + (0 * 10^1) + 1)

Binary (base 2) :


Seuls les caractères 0 et 1 sont valides.

Exemple de code :

n = 0b101; // identique à 5 décimal ((1 * 2^2) + (0 * 2^1) + 1)

Octal (base 8) :

Seuls les caractères de 0 à 7 sont valides. Les valeurs octales sont indiquées par le préfixe « 0 » (zéro).

Exemple de code :

n = 0101; // identique à 65 décimal ((1 * 8^2) + (0 * 8^1) + 1)

Il est possible de générer un bug difficile à trouver en incluant (involontairement) un zéro non significatif avant une constante et en faisant en sorte que le compilateur interprète involontairement votre constante comme octale.

Hexadecimal (base 16) :

Les caractères valides sont les chiffres de 0 à 9 et les lettres de A à F ; A vaut 10, B vaut 11, et F vaut 15. Les valeurs hexadécimales sont indiquées par le préfixe « 0x ». Notez que les lettres de A à F peuvent être majuscules (A-F) ou minuscules (a-f).

Exemple de code :

n = 0x101;  // identique à 257 décimal ((1 * 16^2) + (0 * 16^1) + 1)

Remarques et avertissements :


Formateurs U & L :

Par défaut, une constante entière est traitée comme un int, avec les limitations de valeurs qui en découlent. Pour spécifier une constante entière avec un autre type de données, faites-la suivre de :

  • un u ou un U pour forcer la constante dans un format de données non signé. Exemple : 33u
  • un l ou L pour forcer la constante dans un format de données long. Exemple : 100000L
  • un ul ou un UL pour forcer la constante à devenir une constante unsigned long. Exemple : 32767ul


Source : https://docs.arduino.cc/language-reference/en/variables/constants/integerConstants/

Publications similaires

Laisser un commentaire

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