可能重复:
random() 实际上是如何工作的?
我的美术老师过去总是告诉我们计算随机性永远不是真正的随机性。作为一个决定论者,我认为随机性根本不存在,但我与编程相关的问题是:
计算机究竟是如何产生“随机”数字的?
可能重复:
random() 实际上是如何工作的?
我的美术老师过去总是告诉我们计算随机性永远不是真正的随机性。作为一个决定论者,我认为随机性根本不存在,但我与编程相关的问题是:
计算机究竟是如何产生“随机”数字的?
计算机产生的随机数通常是伪随机数。请参阅:伪随机数生成器。
基本上有一种算法可以确定性地产生一系列值。这些值分布在整个范围内,因此它们看起来像是随机的,但它们是完全可预测的。通常你用一些种子启动生成器,如果你使用相同的种子,生成器每次都会产生完全相同的输出。
http://www.random.org/ - 基于大气噪声的真正随机数
http://www.entropykey.co.uk/ - 基于晶体管模拟噪声的硬件 USB 设备