Constantes entières C
Une constante entière est un nombre décimal (base 10), octal (base 8) ou hexadécimal (base 16) qui représente une valeur intégrale. Utilisez les constantes Integer pour représenter des valeurs entières qui ne peuvent pas être modifiées.
Syntaxe
integer-constant
:
decimal-constant
integer-suffix
opt
octal-constant
integer-suffix
opt
hexadecimal-constant
integer-suffix
opt
decimal-constant
:
nonzero-digit
decimal-constant
digit
octal-constant
:
0
octal-constant
octal-digit
hexadecimal-constant
:
hexadecimal-prefix
hexadecimal-digit
hexadecimal-constant
hexadecimal-digit
hexadecimal-prefix
: l'un des éléments suivants :
0x
0X
nonzero-digit
: l'un des éléments suivants :
1 2 3 4 5 6 7 8 9
octal-digit
: l'un des éléments suivants :
0 1 2 3 4 5 6 7
hexadecimal-digit
: l'un des éléments suivants :
0 1 2 3 4 5 6 7 8 9
a b c d e f
A B C D E F
integer-suffix
:
unsigned-suffix
long-suffix
opt
unsigned-suffix
long-long-suffix
unsigned-suffix
64-bit-integer-suffix
long-suffix
unsigned-suffix
opt
long-long-suffix
unsigned-suffix
opt
64-bit-integer-suffix
unsigned-suffix
: l'un des éléments suivants :
u U
long-suffix
: l'un des éléments suivants :
l L
long-long-suffix
: l'un des éléments suivants :
ll LL
64-bit-integer-suffix
: l'un des éléments suivants :
i64 I64
Les suffixes i64
et I64
sont spécifiques à Microsoft.
Les constantes Integer sont positives, à moins d’être précédées du signe moins (-
). Le signe moins est interprété comme l'opérateur de négation arithmétique unaire. Pour plus d’informations sur cet opérateur, consultez Opérateurs arithmétiques unaires.
Si une constante Integer commence par 0x
ou 0X
, elle est hexadécimale. Si elle commence par le chiffre 0
, elle est octale. Sinon, elle est supposée être décimale.
Les constantes entières suivantes sont équivalentes :
28
0x1C /* = Hexadecimal representation for decimal 28 */
034 /* = Octal representation for decimal 28 */
Aucun espace blanc ne peut séparer les chiffres d'une constante Integer. Ces exemples illustrent certaines des constantes décimales, octales et hexadécimales valides.
/* Decimal Constants */
int dec_int = 28;
unsigned dec_uint = 4000000024u;
long dec_long = 2000000022l;
unsigned long dec_ulong = 4000000000ul;
long long dec_llong = 9000000000LL;
unsigned long long dec_ullong = 900000000001ull;
__int64 dec_i64 = 9000000000002I64;
unsigned __int64 dec_ui64 = 90000000000004ui64;
/* Octal Constants */
int oct_int = 024;
unsigned oct_uint = 04000000024u;
long oct_long = 02000000022l;
unsigned long oct_ulong = 04000000000UL;
long long oct_llong = 044000000000000ll;
unsigned long long oct_ullong = 044400000000000001Ull;
__int64 oct_i64 = 04444000000000000002i64;
unsigned __int64 oct_ui64 = 04444000000000000004uI64;
/* Hexadecimal Constants */
int hex_int = 0x2a;
unsigned hex_uint = 0XA0000024u;
long hex_long = 0x20000022l;
unsigned long hex_ulong = 0XA0000021uL;
long long hex_llong = 0x8a000000000000ll;
unsigned long long hex_ullong = 0x8A40000000000010uLL;
__int64 hex_i64 = 0x4a44000000000020I64;
unsigned __int64 hex_ui64 = 0x8a44000000000040Ui64;