Ruby如何使用[closed]生成随机数

问题描述 投票:0回答:1

因此,当使用rand(10)时,ruby如何生成随机数?我对随机数生成技术知之甚少,所以我想更好地了解它们。

ruby random
1个回答
2
投票

Ruby是open-source。我将演示如何定位PRNG(伪随机数生成器)代码,因为无法使用确定性CPU生成真正的随机数。

看看存储库,我们看到了suspiciously-named file, random.c。在里面,它在C中,但没关系,它有评论。第一个函数是genrand_real,调用genrand_int32,它接受一个struct MT。此函数在mt19937.c中定义并查看该文件,它使用按位运算来获取随机数生成器的下一个状态,并应用更多按位运算符来生成所需的数字。

© www.soinside.com 2019 - 2024. All rights reserved.