有符号数据类型 | 无符号数据类型 | 说明 |
intmax_t | uintmax_t | 支持最大宽度的整数类型。 |
int8_t | uint8_t | 宽度为8、16、32或64位的整数类型。
对于有符号类型,负数用2的补码表示。 没有填充比特。 可选:如果不存在具有此类特征的类型,则不定义这些类型定义 .* |
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 | 整型,可以保存从空指针转换而来的值,然后再用与原始指针比较相等的值转换回该类型。
可选:在某些标准库实现中可能没有这些类型定义.* |
宏 | 说明 | 规定 |
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 | 最小宽度无符号类型的最大值 | 2 N - 1或更高 |
INT_FASTN_MIN | 快速的最小宽度有符号类型的最小值 | - (2 (N-1)- 1),或者更低 |
INT_FASTN_MAX | 快速的最小宽度有符号类型的最大值 | 2 (N-1)- 1,或更高 |
UINT_FASTN_MAX | 快速的最小宽度无符号类型的最大值 | 2 N - 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的值 |
INTNC | 展开类型为int_leastN_t的值 |
UINTN_C | 展开类型为uint_leastN_t的值 |