The following are typedefs of fundamental integral types or extended integral types. (Source: http://www.cplusplus.com/reference/cstdint/)
signed type | unsigned type | description |
---|---|---|
intmax_t | uintmax_t | Integer type with the maximum width supported. |
int8_t | uint8_t |
Integer type with a width of exactly 8, 16, 32, or 64 bits. For signed types, negative values are represented using 2's complement. No padding bits. Optional: These typedefs are not defined if no types with such characteristics exist.* |
int16_t | uint16_t | |
int32_t | uint32_t | |
int64_t | uint64_t | |
int_least8_t | uint_least8_t |
Integer type with a minimum of 8, 16, 32, or 64 bits. No other integer type exists with lesser size and at least the specified width. |
int_least16_t | uint_least16_t | |
int_least32_t | uint_least32_t | |
int_least64_t | uint_least64_t | |
int_fast8_t | uint_fast8_t |
Integer type with a minimum of 8, 16, 32, or 64 bits. At least as fast as any other integer type with at least the specified width. |
int_fast16_t | uint_fast16_t | |
int_fast32_t | uint_fast32_t | |
int_fast64_t | uint_fast64_t | |
intptr_t | uintptr_t |
Integer type capable of holding a value converted from a void pointer
and then be converted back to that type with a value that compares equal
to the original pointer.Optional: These typedefs may not be defined in some library implementations.* |
Some of these typedefs may denote the same types. Therefore, function overloads should not rely on these being different.
* Notice that some types are optional (and thus, with no portability guarantees). A particular library implementation may also define additional types with other widths supported by its system. In any case, if either the signed or the unsigned version is defined, both the signed and unsigned versions are defined.