2016-02-27 435 views
0

我想知道是否在所有使用相同srand()种子的计算机上都会得到相同的随机数。使用相同种子的rand()函数是否在不同的PC上给出相同的随机数?

如果不是,我该如何做到这一点。

+0

不,不能保证。标准库的不同实现可以使用不同的算法来生成伪随机数。如果这是必需的,您可以提供您自己的PRNG设施。 –

+0

另一个可能的重复候选人:http://stackoverflow.com/questions/15109427/why-does-the-c-stdlib-rand-function-give-different-values-for-the-same-seed –

回答

1

编号rand实现不是标准化的,不同的编译器vedors可以使用不同的算法。例如,您可以使用标准C++ 11 <random>标题中的生成器,它们是标准的并且完全是不确定的:具有相同种子的mt19937应该在所有平台上给出相同的序列。

相关问题