| 有符号类型 | 无符号类型 | 描述 |
|---|---|---|
| intmax_t | uintmax_t | 支持的最大宽度的整数类型。 |
| int8_t | uint8_t | 宽度恰好为 8、16、32 或 64 位的整数类型。 对于有符号类型,负值使用 2 的补码表示。 无填充位。 可选:如果不存在具有此类特性的类型,则不定义这些 typedef。* |
| int16_t | uint16_t | |
| int32_t | uint32_t | |
| int64_t | uint64_t | |
| int_least8_t | uint_least8_t | 宽度至少为 8、16、32 或 64 位的整数类型。 不存在其他尺寸更小且至少具有指定宽度的整数类型。 |
| int_least16_t | uint_least16_t | |
| int_least32_t | uint_least32_t | |
| int_least64_t | uint_least64_t | |
| int_fast8_t | uint_fast8_t | 宽度至少为 8、16、32 或 64 位的整数类型。 至少与任何其他具有至少指定宽度的整数类型一样快。 |
| int_fast16_t | uint_fast16_t | |
| int_fast32_t | uint_fast32_t | |
| int_fast64_t | uint_fast64_t | |
| intptr_t | uintptr_t | 能够保存从 void 指针转换而来的值,然后再转换回该类型,其值与原始指针相等的整数类型。可选:在某些库实现中可能未定义这些 typedef。* |
cstdint 类型的限制| 宏 | 描述 | 定义为 |
|---|---|---|
| INTMAX_MIN | intmax_t 的最小值 | -(263-1) 或更小 |
| INTMAX_MAX | intmax_t 的最大值 | 263-1 或更大 |
| UINTMAX_MAX | uintmax_t 的最大值 | 264-1 或更大 |
| INTN_MIN | 固定宽度有符号类型的最小值 | 恰好是 -2(N-1) |
| INTN_MAX | 固定宽度有符号类型的最大值 | 恰好是 2(N-1)-1 |
| UINTN_MAX | 固定宽度无符号类型的最大值 | 恰好是 2N-1 |
| INT_LEASTN_MIN | 最小宽度有符号类型的最小值 | -(2(N-1)-1) 或更小 |
| INT_LEASTN_MAX | 最小宽度有符号类型的最大值 | 2(N-1)-1 或更大 |
| UINT_LEASTN_MAX | 最小宽度无符号类型的最大值 | 2N-1 或更大 |
| INT_FASTN_MIN | 最快最小宽度有符号类型的最小值 | -(2(N-1)-1) 或更小 |
| INT_FASTN_MAX | 最快最小宽度有符号类型的最大值 | 2(N-1)-1 或更大 |
| UINT_FASTN_MAX | 最快最小宽度无符号类型的最大值 | 2N-1 或更大 |
| INTPTR_MIN | intptr_t 的最小值 | -(215-1) 或更小 |
| INTPTR_MAX | intptr_t 的最大值 | 215-1 或更大 |
| UINTPTR_MAX | uintptr_t 的最大值 | 216-1 或更大 |
| 宏 | 描述 | 定义为 |
|---|---|---|
| SIZE_MAX | size_t 的最大值 | 264-1 或更大 |
| PTRDIFF_MIN | ptrdiff_t 的最小值 | -(216-1) 或更小 |
| PTRDIFF_MAX | ptrdiff_t 的最大值 | 216-1 或更大 |
| SIG_ATOMIC_MIN | sig_atomic_t 的最小值 | 如果 sig_atomic_t 是有符号的:-127 或更小 如果 sig_atomic_t 是无符号的:0 |
| SIG_ATOMIC_MAX | sig_atomic_t 的最大值 | 如果 sig_atomic_t 是有符号的:127 或更大 如果 sig_atomic_t 是无符号的:255 或更大 |
| WCHAR_MIN | wchar_t 的最小值 | 如果 wchar_t 是有符号的:-127 或更小如果 wchar_t 是无符号的:0 |
| WCHAR_MAX | wchar_t 的最大值 | 如果 wchar_t 是有符号的:127 或更大如果 wchar_t 是无符号的:255 或更大 |
| WINT_MIN | wint_t 的最小值 | 如果 wint_t 是有符号的:-32767 或更小 如果 wint_t 是无符号的:0 |
| WINT_MAX | wint_t 的最大值 | 如果 wint_t 是有符号的:32767 或更大 如果 wint_t 是无符号的:65535 或更大 |
| 宏 | 描述 |
|---|---|
| INTMAX_C | 展开为 intmax_t 类型的值 |
| UINTMAX_C | 展开为 uintmax_t 类型的值 |
| INTN_C | 展开为 int_leastN_t 类型的值 |
| UINTN_C | 展开为 uint_leastN_t 类型的值 |
|
|