• Post category:Constantes
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :mars 12, 2022
  • Temps de lecture :5 min de lecture

Integer Constants

Description :

Les constantes entières sont des nombres qui sont utilisés directement dans une esquisse, comme 123. Par défaut, ces chiffres sont traités comme int , mais vous pouvez changer cela avec les modificateurs U et L (voir ci – dessous).

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

 

BASE EXEMPLE FORMATEUR COMMENTER

10 (decimal)

123

none

2 (binary)

0b1111011

leading « 0b »

characters 0&1 valid

8 (octal)

0173

leading « 0 »

characters 0-7 valid

16 (hexadecimal)

0x7B

leading « 0x »

characters 0-9, A-F, a-f valid

 

Décimal (base 10) :

Ce sont les mathématiques de bon sens que vous connaissez. Les constantes sans autres préfixes sont supposées être au format décimal.

Exemple de code :

n = 101; // pareil que 101 decimal ((1 * 10^2) + (0 * 10^1) + 1)

 

Binaire (base 2) :

Seuls les caractères 0 et 1 sont valides.

Exemple de code :

n = 0b101; // pareil que 5 decimal ((1 * 2^2) + (0 * 2^1) + 1)

 

Octal (base 8) :

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

Exemple de code :

n = 0101; // pareil que 65 decimal ((1 * 8^2) + (0 * 8^1) + 1)

 

Il est possible de générer un bogue 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.

Hexadécimal (base 16) :

Les caractères valides sont 0 à 9 et les lettres A à F ; A a la valeur 10, B est 11, jusqu’à F, qui est 15. Les valeurs hexadécimales sont indiquées par le préfixe « 0x ». Notez que AF peut être en majuscule (AF) ou en minuscule (af).

Exemple de code :

n = 0x101; // pareil que 257 decimal ((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 entier 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 par :

  • un ‘u’ ou ‘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 ‘UL’ pour forcer la constante dans une longue constante non signée. Exemple : 32767ul

 


 

Source : https://www.arduino.cc/reference/en/language/variables/constants/integerconstants/

 

Laisser un commentaire