Integer literals
The long long features
long long features: - the C99
long longfeature - the non-C99
long longfeature
long long features.Types of integer literals that are supported in pre-C99 and pre-C++11 modes
long long feature is not enabled.
| Representation | Suffix | Possible data types | |||||
|---|---|---|---|---|---|---|---|
| int | unsigned int | long int | unsigned long int | ![]() |
![]() |
||
| Decimal | None | + | + | +2 | |||
| Octal, Hex | None | + | + | + | + | ||
| All | u or U |
+ | + | ||||
| Decimal | l or L |
+ | + | ||||
| Octal, Hex | l or L |
+ | + | ||||
| All | Both u or U and l or
L |
+ | |||||
| Decimal | ll or LL |
+ | + | ||||
| Octal, Hex | ll or LL |
+ | + | ||||
| All | Both u or U and ll or
LL |
+ | |||||
|
Note:
|
|||||||
Types of integer literals that are supported in C99 and C++11
long long features are disabled, integer literals that have
one of the following suffixes cause a severe compile-time error:llorLL- Both
uorUandllorLL
To strictly conform to the C++11 standard, the compiler introduces the extended integer safe
behavior to ensure that a signed value never becomes an unsigned value after a promotion. After you
enable this behavior, if a decimal integer literal that does not have a suffix containing
u or U cannot be represented by the long long int
type, the compiler issues a warning message to indicate that the value of the literal is
out of range. You can change the severity of the message from warning to error with the
-Werror=implicitly-unsigned-literal option. The extended integer safe
behavior is the only difference between the C99 long long feature with the
associated IBM extensions and the C99
long long feature.
long long feature is enabled.
| Representation | Suffix | Possible data types | |||||
|---|---|---|---|---|---|---|---|
| int | unsigned int | long int | unsigned long int | long long int | unsigned long long int | ||
| Decimal | None | + | + | +1, 2 | |||
| Octal, Hex | None | + | + | + | + | ||
| All | u or U |
+ | + | ||||
| Decimal | l or L |
+ | +1, 2 | ||||
| Octal, Hex | l or L |
+ | + | ||||
| All | Both u or U and l or
L |
+ | |||||
| Decimal | ll or LL |
+ | +1, 2 | ||||
| Octal, Hex | ll or LL |
+ | + | ||||
| All | Both u or U and ll or
LL |
+ | |||||
|
Note:
|
|||||||
