这就是我想要的:
unsigned int max_unsigned_int_size;
max_unsigned_int_size = ???;
我该怎么做?
答案 0 :(得分:35)
#include <limits.h>
unsigned int max_unsigned_int_size = UINT_MAX;
#include <limits>
unsigned int max_unsigned_int_size = std::numeric_limits<unsigned int>::max();
答案 1 :(得分:15)
unsigned int max_unsigned_int_size = -1;
保证做正确的事。无符号类型的算术总是模数。
但在具体情况下,你总是应该使用UINT_MAX
答案 2 :(得分:6)
您正在寻找
#include <limits>
std::numeric_limits<unsigned int>::max();
如果您想要大小,sizeof
会这样做,请乘以CHAR_BITS来获取这些位。
另外,有
std::numeric_limits<unsigned int>::digits();
答案 3 :(得分:4)
#include <limits>
...
max_insigned_int_size = std::numeric_limits<unsigned int>::max():
答案 4 :(得分:2)
答案 5 :(得分:1)
#include <limits>
max_unsigned_int_size = std::numeric_limits<unsigned int>::max();