Constantes entières

    Les constantes entières (ou littéraux entiers : voir norme ISO, 2.13.1) peuvent être exprimées en base 8 (représentation octale), en base 10 (représentation décimale) et en base 16 (représentation hexadécimale).

    Les constantes décimales doivent être exclusivement constituées des chiffres 0 à 9, le premier ne devant jamais être le chiffre 0.

    Les constantes octales doivent être exclusivement constituées des chiffres 0 à 7, le premier étant obligatoirement le chiffre 0.

    Les constantes hexadécimales doivent être exclusivement constituées des chiffres 0 à 9, des lettres A à F ou a à f, et obligatoirement précédés des deux premiers caractères 0x ou 0X.

Exemples :
 
                                        // Affichages :
cout << "033    = " <<    033 << endl;  // 033    = 27
cout << "0x33   = " <<   0x33 << endl;  // 0x33   = 51
cout << "0xFF   = " <<   0xFF << endl;  // 0xFF   = 255
cout << "0xFFFF = " << 0xFFFF << endl;  // 0xFFFF = 65535

    Les constantes octales sont principalement utilisées pour exprimer les droits associés aux fichiers sous Unix. Ceux-ci sont en effet constitués de trois groupes de trois bits chacun, représentant dans cet ordre les droits (ou permissions) du propriétaire (user), du groupe (group) et des autres (others). Pour chacun, les permissions concernent dans cet ordre la lecture (read), l'écriture (write) et l'exécution (execution). Un ensemble de permissions attachées à un fichier est donc une constante entière octale de 3 chiffres précédée de 0 (voir par exemple le cours système : Protection des fichiers).

    Les constantes hexadécimales servent généralement à exprimer :

    Dans tous les autres cas (arithmétique, indexation, etc.), les constantes utilisées sont les constantes décimales.

Remarque : Il n'existe pas de constante négative. En effet, les constantes -12 ou -0xFF sont les constantes 12 ou 0xFF auxquelles est appliqué l'opérateur unaire -. C'est pourquoi le signe - peut être suivi de n'importe quel nombre d'espaces (ou tabulations, ou retour chariot) : - 0xFF est valide.

Suffixes

    Les constantes entières peuvent être suivies d'un ou de deux suffixes. Le suffixe L (ou l : long) indique que la constante doit être codée sur le nombre d'octets correspondant à un entier long. Le suffixe U (ou u : unsigned) indique que l'entier doit être considéré comme non signé. Les deux suffixes peuvent être utilisés simultanément dans n'importe quel ordre. Par exemple :
 
void Fct (unsigned long Param = 0UL);

Types des constantes entières

    Le type d'une constante entière dépend de la base avec laquelle elle est représentée, de son suffixe et de sa valeur. Dans tous les exemples suivants, on supposera que les ints sont codés sur 1 octet, et les long (ou long int) sur 2 octets :