limits.h, ,有#Defines INT_MAXINT_MIN (和shrt_*和long_*等),但仅 UINT_MAX.

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

有帮助吗?

解决方案

如果您想成为“ typesafe”,则可以使用 0U, ,因此,如果您在表达式中使用它,您将拥有正确的促销 unsigned.

其他提示

这是一个未签名的整数 - 根据定义,其最小的值为0。如果您需要一些理由,除了常识, 标准 说:

6.2.6.2整数类型

  1. 对于未签名的整数类型 unsigned char, ,对象表示的位应分为两组:值位和填充位(不需要后者)。如果有 n 值位,每个位应代表1和2^之间的2的不同功率(n-1),因此该类型的对象应能够表示0到2^的值(n-1)使用纯二进制表示;这应称为价值表示。任何填充位的值均未指定。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top