什么是UINT_MIN的便携值?

Ari*_*old 10 c c++ unsigned-integer

limits.h,有#defines for INT_MAXINT_MIN(以及SHRT_*和LONG_*等等),但仅限于UINT_MAX.

我应该定义UINT_MIN自己吗?是0(正零)便携式价值?

Car*_*rum 19

它是一个无符号整数 - 根据定义,它的最小可能值是0.如果除了常识之外还需要一些理由,标准说:

6.2.6.2整数类型

  1. 对于除了以外的无符号整数类型unsigned char,对象表示的位应分为两组:值位和填充位(不需要后者中的任何一个).如果有N个值位,则每个位应表示1和2 ^(N -1)之间的2的不同幂,因此该类型的对象应能够使用0到2 ^(N -1)的值表示纯二进制表示; 这应该被称为价值表示.任何填充位的值都未指定.

  • 喜欢标准.特别是当它被引用时. (3认同)

Kir*_*sky 7

你可以用std::numeric_limits<unsigned int>::min().

  • 这将在C++中工作,这在C中不起作用.什么是C/C++? (2认同)

Jen*_*edt 2

如果你想“类型安全”,你可以使用0U,所以如果你在表达式中使用它,你将获得正确的提升unsigned