10.12随机种子

优质
小牛编辑
129浏览
2023-12-01

当你将本章节的程序运行了几遍后,你就会发现,我们所得到的随机数值都是一样的。很明显,他们不是所谓的随机出现的。

伪随机数出现的特性之一是如果一连串随机数出现的起始点一样,则这一串数字始终是一样的。随机数出现的起始点称作种子。每次运行C++程序时,它默认将随机数种子保持一致。

当你调试程序时,产生相同的序列对你是非常有用的。当你修改程序时,就可以有一个更好的比对。

如果你想换一组随机数,可以使用srand函数。它只需一个参数,这个函数会取一个从0到RAND_MAX的随机数。

在许多的程序中,比如说游戏,我们希望每次运行游戏时都能得到不同的随机数列。通常的方法是使用如gettimeofday这样的库函数来获取可信的、不可预料及不重复的随机数作为种子,有如最后一秒里面的毫秒数值作为随机数种子。操作的细节取决于你的开发环境。