获取最大的无符号整数类型

时间:2014-06-23 16:33:04

标签: c++ c++11

我需要一种方法来获得目标编译器体系结构上可用的最大类型。我希望有一个定义:

#if defined PLATFORM_32BIT
#define LARGEST_UNSIGNED_TYPE uint32_t
#elseif defined PLATFORM_64BIT
#define LARGEST_UNSIGNED_TYPE uint64_t
#endif

是否有标准的C ++方法来实现这一目标?或者我需要自己动手吗?

2 个答案:

答案 0 :(得分:12)

如果您可以使用uint64_t,您还应该能够使用uintmax_t

答案 1 :(得分:3)

C ++中的标题<cstdint>(以及C中的<stdint.h>)已包含以下定义

typedef 签名整数类型 intmax_t;

typedef 无符号整数类型 uintmax_t;