来自ActionScript 3.0文档:
全球职能>的Math.random()
返回伪随机数n, 其中0 <= n&lt; 1.返回的号码 是在未公开的情况下计算的 方式,并且是“伪随机”的,因为 计算不可避免地包含 非随机性的一些要素。
我有兴趣阅读Math.random()的源代码,并假设它在其他基于C语言(如AS3)中也是如此。可以查看吗?
任何人都可以解释哪些元素使代码伪随机,为什么?是否无法创建一个返回真正随机值的函数?
答案 0 :(得分:2)
有一大堆Pseudo Random Generator函数 - 如果你没有进行高端加密,最常见的函数可能是线性全等 - 请参阅wiki以获取描述并链接到实现代码。
答案 1 :(得分:1)
要获得真实的随机数,您可以使用某些网络服务,例如random.org
它使用来自大气噪声的随机性
答案 2 :(得分:0)
如果我记得正确,很多都会依赖系统时间,因为它变化如此之快。 如果您达到相同的系统时间,则获得相同的随机输出。 至于真正的随机,不可能,在没有设置的计算机中没有位。你可以说,如果你进入了一些内存空间并抓住了某些内容,这将是随机的,但这就像时间一样确定性。