三种方法生成随机数之srand篇

本文介绍了C++中srand和rand函数的使用,强调了srand作为随机数生成器的初始化函数,其种子值决定了rand()产生的随机数序列。当种子值相同,rand()将返回同样的序列。默认种子是1,使用time(0)可以生成不同的随机数。文章讨论了在for循环中使用srand可能导致的问题及两种解决方法,并指出rand()的伪随机性质。这是博主的首篇技术博客,期待指正。
摘要由CSDN通过智能技术生成

srand()函数:随机数发生器的初始化函数,需要提供一个种子,这个种子会对应一个随机数。如果使用相同的种子,rand() 函数会出现一样的随机数。默认种子数是1,即srand(1)。

srand()
<stdlib.h>
原型: void srand(unsigned int seed)
作用: 播种由函数 rand 使用的随机数发生器。

函数说明:
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用time(0)的返回值或NULL来当做seed.如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

rand()
<stdlib.h>
原型: int rand(void)

作用: 返回一个范围在 0 到 RAND_MAX 之间的伪随机数。RAND_MAX 是一个常量,它的默认值在不同的实现中会有所不同,但是值至少是 32767。

函数说明 :

rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。

rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用 unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中的机率是相同的。                      

用户未设定随机数种子时,系统默认的随机数种子为1。rand()产生的是伪随机数字,每次执行时是相同的;若要不同,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值