头文件 boost/cstdint.hpp

Header boost/cstdint.hpp

头文件 boost/cstdint.hpp 

头文件 <boost/cstdint.hpp> 提供了用于编写要求指定整数宽度的可移植代码的 typedef. 所有 typedef 均位于名字空间 boost.

本规范是基于 ISO/IEC 9899:1999 C 语言标准的头文件 <stdint.h> 的。C标准所要求的64位类型没有在 boost 头文件中要求,也可能不被实现支持,因为 long long 还未被包含在 C++ 标准中。

测试程序请见 cstdint_test.cpp.

精确宽度的整数类型

typedef int#_t, 其中 # 代表宽度,表示一个宽度恰好为 # 位的有符号整数类型;如 int8_t 表示8-位的有符号整数类型。同样,typedef uint#_t 表示一个宽度恰好为 # 位的无符号整数类型。

这些类型是可选的。不过,如果一个实现提供了宽度为 8, 16, 32, 或 64 位的整数类型,它就应该定义相应的 typedef 名字。

最小宽度的整数类型

typedef int_least#_t, 其中 # 代表宽度,表示一个宽度至少为 # 位的有符号整数类型,且没有位数更少的有符号整数类型至少具有给定的宽度。因此,int_least32_t 表示一个至少32位的有符号整数类型。同样,typedef uint_least#_t 表示一个宽度至少为 # 位的无符号整数类型,且没有位数更少的无符号整数类型至少具有给定的宽度。

需具备的最小宽度整数类型:

  • int_least8_t
  • int_least16_t
  • int_least32_t
  • uint_least8_t
  • uint_least16_t
  • uint_least32_t

其它所有最小宽度整数类型都是可选的。

最快最小宽度整数类型

typedef int_fast#_t, 其中 # 代表宽度,表示宽度至少为 # 位的且速度最快的有符号整数类型。同样 typedef uint_fast#_t 表示宽度至少为 # 位的且速度最快的无符号整数类型。

不能保证这些类型对于所有用途都是最快的。不过在任何情况下,它们都满足符号和宽度的要求。

需具备的最快最小宽度整数类型:

  • int_fast8_t
  • int_fast16_t
  • int_fast32_t
  • uint_fast8_t
  • uint_fast16_t
  • uint_fast32_t

其它所有最快最小宽度整数类型都是可选的。

最大宽度整数类型

typedef intmax_t 表示一个有符号整数类型,它可以表示任意有符号整数类型的值。

typedef uintmax_t 表示一个无符号整数类型,它可以表示任意无符号整数类型的值。

这两个类型都是必需的。

原文地址:https://www.cnblogs.com/lexus/p/3414283.html