Java 8 中的 java.util.Random 使用哪种伪随机数生成器算法?

我正试图找出 java 8 中的 java.util.Random 是如何生成随机数的,更具体地说是它背后的算法。我一直看到的是如何在 java 8 中生成随机数,而不是它背后的驱动力。

如果你能指点我关于 java.util.Random 使用的 PRNG 的任何文档,那将是完美的。

另外,如果它已经完成,有没有办法在 python 中复制 java.util.Random 的输出? 使用 5 种子和 0 到 100 整数范围的快速测试为 python 随机模块提供了不同的结果

yangshenghan521 回答:Java 8 中的 java.util.Random 使用哪种伪随机数生成器算法?

引用 Java docs

此类的一个实例用于生成伪随机数流。该类使用 48 位种子,该种子使用线性同余公式进行修改。 (参见 Donald Knuth,计算机编程艺术,第 2 卷,第 3.2.1 节。)

因此似乎使用了带有 48 位种子的 Linear congruential generator

我无法访问上述书籍,但我想它提供了更详细的信息。

本文链接:https://www.f2er.com/36533.html

大家都在问