【问题标题】:Does rand() function with the same seed gives the same random numbers on different PC's? [duplicate]具有相同种子的 rand() 函数是否会在不同的 PC 上提供相同的随机数? [复制]
【发布时间】:2016-06-10 16:56:57
【问题描述】:

我想知道我是否会在所有使用相同 srand() 种子的计算机上获得相同的随机数。

如果没有,我该如何实现。

【问题讨论】:

  • 不,不能保证。标准库的不同实现可以使用不同的算法来生成伪随机数。如果需要,您可以提供自己的 PRNG 工具。
  • 另一个可能的重复候选者:stackoverflow.com/questions/15109427/…

标签: c++ random cross-platform seed srand


【解决方案1】:

没有。 rand 实现未标准化,不同的编译器供应商可以并且将使用不同的算法。

您可以使用标准且完全确定性的 C++11 <random> 标头生成器:例如,具有相同种子的 mt19937 在所有平台上应该给出相同的序列。

【讨论】:

    猜你喜欢
    • 2016-09-20
    • 2011-06-13
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    相关资源
    最近更新 更多