gpt4 book ai didi

C++ srand() 函数

转载 作者:行者123 更新时间:2023-11-28 05:40:00 25 4
gpt4 key购买 nike

谁能解释一下 srand 到底做了什么。我知道它与函数 rand 相关,并且输入 srand 函数的值是一个种子值,但这个种子值究竟如何影响 rand 函数?

最佳答案

在带有特定参数的 srand 之后,对 rand 的后续调用将产生完全相同的序列。所以你可以使用 srand 来允许用户,例如准确再现使用随机数的算法的结果。例如,在我的 C 上,

rand: 16807
rand: 282475249
rand: 1622650073

srand(3)
rand: 50421
rand: 847425747
rand: 572982925

srand(3)
rand: 50421
rand: 847425747
rand: 572982925

注意第二个序列和第三个序列是相同的。

如果你问的是种子与后面的随机数有什么确切的数值关系,那通常是无关紧要的;如果您真的需要知道,您将需要知道所使用的确切伪随机数生成算法:不同的 C 编译器可以自由使用不同的算法,因为 C 语言规范中没有定义该算法。

关于C++ srand() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337006/

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