gpt4 book ai didi

c++ - C/C++中随机数生成器的实现

转载 作者:太空狗 更新时间:2023-10-29 23:51:06 25 4
gpt4 key购买 nike

<分区>

我对C中随机数生成器的实现有点困惑,这也与C++中的明显不同

如果我理解正确,对“srand(seed)”的调用会以某种方式初始化一个隐藏变量(种子),该变量可由“rand()”访问,进而将函数指向预生成的序列,例如对于 example this one .对“rand()”的每次连续调用都会推进序列(显然在 C++ 中还有其他推进方式),这也建议使用内部隐藏指针或计数器来跟踪推进。

我找到了很多关于伪随机数生成算法如何工作的讨论以及函数 rand() 和 srand() 的文档,但未能找到有关这些隐藏参数及其行为的信息,除了according to this source ,它们不是线程安全的。

  1. 这里的任何人都可以阐明这些参数是如何定义的,根据标准它们的定义行为应该是什么,或者它们的行为是否是实现定义的?

  2. 是否希望它们在调用 rand() 和 srand() 的函数/方法中是本地的?如果是这样,有没有办法将它们传达给另一个功能/方法?

如果您的答案特定于 C 或 C++,请指出。任何信息将不胜感激。请记住,这个问题不是关于 predictability of data generated by rand() and srand() 的。 ,但关于其内部变量的要求、状态和功能以及它们的可访问性和范围。

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