C++随机函数 rand()

使用 rand 函数可以获取

 

 

随机数大小是在0到RAND_MAX,值为2147483647,它是在stdlib中定义的,如果我们希望在某个范围内,可以使用 % 结合 / 来实现

但是不难发现,这里获得的随机数是唯一确定的,而不是变化的。所以,如果我们希望获得变化的随机数,可以使用下面的方法。

 

因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,
所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND_MAX+间。在调用此函数产生随机数前,
必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。
rand()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()

这里,我们需要引入ctime库,其中time(0)是获取从1970年开始的时间(单位:s),然后再获取rand(),这时的rand就是随机变化得了

 

 但这里获取的值是不确定的,而如果我们希望获得在某一范围内的值呢

 

 

 

posted @ 2020-11-09 17:10  new-code  阅读(2006)  评论(0编辑  收藏  举报