Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Целочисленная константа — это десятичное (базовое 10), восьмеричное (базовое 8) или шестнадцатеричное (базовое 16) число, представляющее целочисленное значение. Используйте целые константы для представления целых значений, которые нельзя изменить.
Синтаксис
integer-constant:
decimal-constant
integer-suffix
выбирать
octal-constant
integer-suffix
выбирать
hexadecimal-constant
integer-suffix
выбирать
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: один из
0x
0X
nonzero-digit: один из
1 2 3 4 5 6 7 8 9
octal-digit: один из
0 1 2 3 4 5 6 7
hexadecimal-digit: один из
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
выбирать
unsigned-suffix
long-long-suffix
unsigned-suffix
64-bit-integer-suffix
long-suffix
unsigned-suffix
выбирать
long-long-suffix
unsigned-suffix
выбирать
64-bit-integer-suffix
unsigned-suffix: один из
u U
long-suffix: один из
l L
long-long-suffix: один из
ll LL
64-bit-integer-suffix: один из
i64 I64
I64 Суффиксы i64 и суффиксы относятся к корпорации Майкрософт.
Целые константы являются положительными, если они не предшествуют знаку минус (-). Знак минуса интерпретируется как унарный арифметический оператор отрицания. (Сведения об этом операторе см. в унарных арифметических операторах .)
Если целочисленная константа начинается с 0x или 0Xшестнадцатеричной. Если он начинается с цифры 0, это восьмерие. В противном случае предполагается, что он будет десятичным.
Следующие целые константы эквивалентны:
28
0x1C /* = Hexadecimal representation for decimal 28 */
034 /* = Octal representation for decimal 28 */
Пробелы не могут разделять цифры целочисленной константы. В этих примерах показаны некоторые допустимые десятичные, восьмеричные и шестнадцатеричные константы.
/* 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;