Constantes entières C++
les constantes entières sont des éléments de données constants qui n'ont aucune partie fractionnaire ou exposant.Elles commencent toujours par un chiffre.Vous pouvez spécifier des constantes entières dans la décimale, octale, ou la forme hexadécimale.Ils peuvent spécifier les types signés ou non signés et longtemps ou bientôt des types.
Grammaire
entier-constante:
entier-suffixe de décimale-constanteoptentier-suffixe d'octal-constanteopt
entier-suffixe de hexadécimal-constanteopt
C-char-séquence**'de'**
décimale-constante:
une valeur différente de zéro-chiffrechiffre de décimale-constante
octal-constante:
0octal-chiffre d'octal-constante
hexadécimal-constante:
hexadécimal-chiffre de0xhexadécimal-chiffre de 0X
hexadécimal-chiffre de hexadécimal-constante
une valeur différente de zéro-chiffre: un de type
1 2 3 4 5 6 7 8 9octal-chiffre: un de type
0 1 2 3 4 5 6 7hexadécimal-chiffre: un de type
0 1 2 3 4 5 6 7 8 9a b c d E-F
B C D E-F
entier-suffixe:
long-suffixe non signé-suffixeoptnon signé-suffixe de long-suffixeopt
non signé-suffixe: un de type
u Ulong-suffixe: un de type
l Lentier-suffixe 64 bits:
ll d'i64 LL
Pour spécifier des constantes entières à l'aide de la notation octale ou hexadécimale, utilisez un préfixe qui indique la base.Pour spécifier une constante entière d'un type intégral donné, utilisez un suffixe correspondant au type.
Pour spécifier une constante décimale, commencez la spécification par un chiffre différent de zéro.Par exemple :
int i = 157; // Decimal constant
int j = 0198; // Not a decimal number; erroneous octal constant
int k = 0365; // Leading zero specifies octal constant, not decimal
Pour spécifier une constante octale, commencez la spécification à 0, suivi d'une séquence de chiffres dans la plage 0 à 7.Les chiffres compris entre 8 et 9 sont des erreurs en spécifiant une constante octale.Par exemple :
int i = 0377; // Octal constant
int j = 0397; // Error: 9 is not an octal digit
Pour spécifier une constante hexadécimale, commencez la spécification avec 0x ou 0X (le cas de « x » n'est pas termes), suivi d'une séquence de chiffres dans la plage 0 via 9 et a (ou A) via f (ou F).Les chiffres hexadécimaux a (ou A) via f (ou F) représentent des valeurs dans la plage 10 à 15.Par exemple :
int i = 0x3fff; // Hexadecimal constant
int j = 0X3FFF; // Equal to i
Pour spécifier un type non signé, utilisez u ou le suffixe d' U .Pour spécifier un long type, utilisez l ou le suffixe " l .Par exemple :
unsigned uVal = 328u; // Unsigned value
long lVal = 0x7FFFFFL; // Long value specified
// as hex constant
unsigned long ulVal = 0776745ul; // Unsigned long value
Pour spécifier un type entier 64 bits, utilisez le LL, le ll ou le suffixe i64.Par exemple :
// 64bitsuffix.cpp
#include <stdio.h>
enum MyEnum {
IntType,
Int64Type
};
MyEnum f1(int) {
printf("in f1(int)\n");
return IntType;
}
MyEnum f1(__int64) {
printf_s("in f1(__int64)\n");
return Int64Type;
}
int main() {
MyEnum t1 = f1(0x1234), t2 = f1(0x1234i64);
}
Sortie
in f1(int)
in f1(__int64)