我正在尝试确定 RAND_MAX 是否可以放入 unsigned int 变量中。在查看了 C99 标准之后,我只发现 RAND_MAX 保证至少有 32767 的值。虽然我知道 RAND_MAX 扩展为 int 值,但我不确定它是否是一个 long int。现在我正在使用 unsigned long int 变量,但我想简化我的源代码以使用 unsigned int 变量。
总而言之,这个假设陈述是否适用于 C99 标准:
RAND_MAX <= UINT_MAX <= ULONG_MAX
此外,RAND_MAX 是否明确小于(即不等于)UINT_MAX 或 ULONG_MAX。我意识到 RAND_MAX 的值通常是梅森素数,但我不确定这是否是标准。