有两种方法,电脑可以生成随机数:
您可以创建某种设备,监控一个完全随机的自然事件,并将其结果发送到计算机。例如,你可以将一张放射性物质的盖革计数器和连接盖革与一台电脑。自放射性衰变是随机的,盖革计数器将创建真正的随机数。这种方法是很罕见的,因为没有多少人有盖革计数器连接到他们的机器。您可以创建一个公式,生成一个伪随机号码。在设计配方时,它产生一串数字,会随机的人并不知道这个公式是什么。一个好的公式的特征包括:
广告
- 没有重复:序列不循环,重演。良好的数值分布:如果公式产生随机数字0到9之间,0,,2等,生产应该在很长一段时间大致相等。缺乏可预测性:你没有办法预知下一个数将除非你知道公式和种子(初始值)。
这里有一个例子的一个简单的随机数公式书“C编程语言,”克尼汉和里奇:
int rand () {random_seed = random_seed * 1103515245 + 12345;返回(unsigned int) (random_seed / 65536) % 32768;}
这个公式假定一个变量的存在random_seed,这是最初设置为一些。random_seed变量乘以1103515245,然后12345添加到产品;random_seed然后取代了这种新的价值。这实际上是一个相当不错的伪随机数生成器。它有一个良好的分布和无重复。如果你用它来产生随机数字0到9,这是前20的值产生如果种子10:
44607423505664567674
如果你有它产生10000值介于0到9,这是地理分布:
0 - 10151 - 10242 - 10483 - 9964 - 9885 - 10016 - 9967 - 10068 - 9659 - 961
依赖于任何伪随机数公式种子值启动序列。如果你开始使用相同的种子,你就会得到相同的序列值的公式。如果你给的rand ()功能上面的种子1018新利最新登入电脑看看流产生的数字,这将是相同的数字产生任何计算机上运行它的种子10。在的情况下全球定位系统,这种再现性是用来给每个卫星可预测但不同模式的价值观,GPS接收器可以跟踪。
创建一个随机的和不可预测的序列,种子必须是一个真正的随机数。这真正的随机数种子,大部分程序使用当前的日期和时间转换为一个整数值(例如,转换为自1月1日以来经过的秒数,1970)。因为这是一个不同的数字每次你启动程序,它使一个好的种子。
对计算机和编程的更18luck手机登录多信息,见下一页。
广告