Math.random()代码源?

时间:2011-02-14 11:43:46

标签: actionscript-3 random

来自ActionScript 3.0文档:

  

全球职能>的Math.random()

     

返回伪随机数n,   其中0 <= n&lt; 1.返回的号码   是在未公开的情况下计算的   方式,并且是“伪随机”的,因为   计算不可避免地包含   非随机性的一些要素。

我有兴趣阅读Math.random()的源代码,并假设它在其他基于C语言(如AS3)中也是如此。可以查看吗?

任何人都可以解释哪些元素使代码伪随机,为什么?是否无法创建一个返回真正随机值的函数?

3 个答案:

答案 0 :(得分:2)

有一大堆Pseudo Random Generator函数 - 如果你没有进行高端加密,最常见的函数可能是线性全等 - 请参阅wiki以获取描述并链接到实现代码。

答案 1 :(得分:1)

要获得真实的随机数,您可以使用某些网络服务,例如random.org
它使用来自大气噪声的随机性

答案 2 :(得分:0)

如果我记得正确,很多都会依赖系统时间,因为它变化如此之快。 如果您达到相同的系统时间,则获得相同的随机输出。 至于真正的随机,不可能,在没有设置的计算机中没有位。你可以说,如果你进入了一些内存空间并抓住了某些内容,这将是随机的,但这就像时间一样确定性。