Stałe całkowitą C++
Liczba całkowita stałe są elementów stałych danych, które mają nie ułamkowe części lub wykładnikami.One zawsze rozpoczynać od cyfry.Można określić całkowitą stałych w formie dziesiętnej, ósemkowego lub szesnastkowych.Mogą określać typy podpisane lub niepodpisane i długiej lub krótkiej.
Gramatyka
stała całkowita:
Stała dziesiętnych całkowitą sufiksoptósemkowy stałą całkowitą sufiksopt
Stała szesnastkowo całkowitą sufiksopt
'c-char-sequence'
Stała dziesiętnych:
cyfra różną od zeracyfry dziesiętne stała
ósemkowy stała:
0cyfra ósemkową ósemkową stała
Stała szesnastkową:
0 xcyfrę szesnastkową0 Xcyfrę szesnastkową
Stała szesnastkowo szesnastkowo cyfrowy
cyfra niezerową: jednym z
1 2 3 4 5 6 7 8 9cyfra ósemkową: jednym z
0 1 2 3 4 5 6 7cyfrę szesnastkową: jednym z
0 1 2 3 4 5 6 7 8 9b c d e f
B C D E F
sufiks Integer:
sufiks unsigned long sufiksoptsufiks unsigned long sufiksopt
niepodpisane sufiks: jednym z
u usufiks LONG: jednym z
l l64-bitowa liczba całkowita sufiks:
ll LL jest nieobsługiwana
Aby określić całkowitą stałe przy użyciu notacji ósemkowym lub szesnastkowym, użyj prefiks, który oznacza podstawy.Aby określić stałą całkowitą danego typu integralną, Użyj sufiksu, który wskazuje typ.
Aby określić stała dziesiętna, rozpocząć specyfikacji z cyfrą różną od zera.Na przykład:
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
Aby określić stałą ósemkową, rozpocząć specyfikacji z 0 następuje sekwencja cyfr z zakresu od 0 do 7.Cyfry 8 i 9 są błędy, określając ósemkową stała.Na przykład:
int i = 0377; // Octal constant
int j = 0397; // Error: 9 is not an octal digit
Aby określić stałą szesnastkowym, rozpocząć specyfikacji z 0x lub 0X (przypadek "x" nie ma znaczenia), następuje sekwencja cyfr w zakresie 0 przez 9 i a (lub A) poprzez f (lub F).Cyfry szesnastkowe a (lub A) poprzez f (lub F) reprezentują wartości z zakresu od 10 do 15.Na przykład:
int i = 0x3fff; // Hexadecimal constant
int j = 0X3FFF; // Equal to i
Aby określić typ bez znaku, użyj u lub u sufiks.Aby określić typ long, użyj l lub l sufiks.Na przykład:
unsigned uVal = 328u; // Unsigned value
long lVal = 0x7FFFFFL; // Long value specified
// as hex constant
unsigned long ulVal = 0776745ul; // Unsigned long value
Aby określić typ integralny 64-bitowe, należy użyć LL, sufiks ll lub jest nieobsługiwana.Na przykład,
// 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);
}
Dane wyjściowe
in f1(int)
in f1(__int64)