【问题标题】:How does Javascript’s Math.random() works behind the scenes? [closed]Javascript 的 Math.random() 如何在幕后工作? [关闭]
【发布时间】:2019-04-28 21:14:07
【问题描述】:

我一直想知道 Javascript 到底是如何选择随机数的,它怎么可能是随机的?计算机不只是接收一些输入,用一些数学运算旋转它,然后返回它吗?

不是询问如何使用 Math.random() 生成随机数,我的问题是:当您想要生成“随机”数时会发生什么? strong> 它是如何工作的以及幕后发生了什么?我知道这是一个值得讨论的大话题,但任何链接都将受到赞赏!

【问题讨论】:

标签: javascript algorithm random computer-science


【解决方案1】:

一些随机数生成器函数使用某种系统噪声或熵(例如:当前时间戳)并对其应用一些数学函数来生成随机数。它们是“真正的”随机数。

一些函数通过使用种子值和算法来生成看似随机但实际上是可预测的数字。它们被称为“伪随机”数字。

您可以在这里阅读更多内容:https://www.howtogeek.com/183051/htg-explains-how-computers-generate-random-numbers/

【讨论】:

  • 获取时间戳并应用数学函数听起来不像真正的随机数生成器......
  • @FelixKling 在此处插入冯诺依曼的引述。
  • 时间戳精确到小数点后 6-7 位,并通过键盘上的击键记录下来(仅作为示例)。这几乎是不可能预测的。
猜你喜欢
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 2016-08-05
  • 2010-12-28
  • 2010-09-14
  • 2015-08-16
  • 1970-01-01
  • 2014-11-01
相关资源
最近更新 更多