gpt4 book ai didi

c++ - 为什么宏: RAND_MAX ,的最小值是32767

转载 作者:太空宇宙 更新时间:2023-11-04 16:17:00 27 4
gpt4 key购买 nike

website声明宏 RAND_MAX 的值是库相关的,最小值为 32767。它没有进一步详细说明。

  1. 依赖库是什么意思??这是否意味着假设有来自两个不同库的两个宏 RAND_MAX,我们必须通过使用不同的命名空间来区分它们?

  2. 为什么RAND_MAX的最小值是32767

最佳答案

这意味着标准库有不同的实现,每个实现都可以不同地定义 RAND_MAX,但它必须始终至少为 32767。

不涉及命名空间,因为 RAND_MAX 是一个不存在于命名空间中的宏。在任何情况下,您通常一次只链接一个标准库。它通常随编译器一起提供,您只需使用它即可。您可以从其他一些库中获得一些其他随机数生成器,但它通常应该使用 其他 而不是 RAND_MAX 来指示它可以/将创建的最大值。特别是,如果您的编译器包含它,您可能希望使用 C++ 的新“ native ”随机数生成类(有关详细信息,请参阅 <rand> 的文档)。

32767 是最小值,主要是因为这是 INT_MAX 的最小值。在 16 位实现上(在编写 C89 标准时仍然很常见),这是这些实现可以方便地使用的最大有符号整数。

关于c++ - 为什么宏: RAND_MAX ,的最小值是32767,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21681890/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com