南昌企业建设网站设计,下载可以做动漫的我的世界视频网站,wordpress评论可看,禹城做网站的公司Qt产生随机数 提问#xff1a;注意#xff1a;实现#xff1a; 提问#xff1a;
有没有小伙伴遇到这么一种情况#xff0c;使用rand()和qrand()函数生成的随机数好像不是那么随机#xff0c;每次都一样。那这种就叫做“伪随机”#xff0c;因为没有种随机数种子#x… Qt产生随机数 提问注意实现 提问
有没有小伙伴遇到这么一种情况使用rand()和qrand()函数生成的随机数好像不是那么随机每次都一样。那这种就叫做“伪随机”因为没有种随机数种子所以系统默认随机数种子是固定值。 在Qt项目中呢生成随机数有两个步骤 1.使用qsrand()种随机数种子 2.调用qrand()生成随机数
注意
1.实践证明、如果是要在某一循环中产生随机数随机数种子一定要写在循环外面循环的时候用qrand()函数获取随机数。 2.千万、千万、千万不能在循环内部设置时间种子因为CPU处理循环一次时间太短会产生大量重复的值这样获取的随机数是没有意义的。 3.切记计算机产生的随机数都是伪随机数不是真正意义的随机数不能用它来进行某些统计计算等。
实现
方法一
#include QTime
#include QtGlobal
QTime time;
time QTime::currentTime();
qsrand(time.msec()time.second()*1000);
或者
qsrand(QTime(0, 0, 0).msecsTo(QTime::currentTime()));
int n qrand() % 10; //产生10以内的随机数方法二
#include QTime
#include QtGlobal
qsrand(0);
int n qrand() % 10; //产生10以内的随机数