Qt生成随机数的方法记录

Qt 生成随机数 qsrand qrandicon-default.png?t=M666https://www.cnblogs.com/ybqjymy/p/13424788.html

在QT中有两个相关函数(位于QtGlobal中,QApplication中也包含)

void qsrand(uint seed)

int qrand()

首先是利用当前系统时间作为种子初始化函数

(需要#include

qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
qsrand(QTime::currentTime().msec());

(这一步容易导致隐式类型转换警告“implict conversion change signedness”)

然后是生成随机数输出的函数

int random_number = qrand();

qrand()理论上返回0(若无随机数种子)到RAND_MAX(系统默认值)间的任意值

该种子作为qrand生成随机数的起始值,RAND_MAX为缺省值,即随机数在种子值到最大值之间

可以利用取余运算%来控制随机数范围

如果要返回0~n间的任意整数值,则为:qrand()%n

如果要返回a~b间的任意整数值,则为:a+qrand()%(b-a)

Qt生成随机数-qrand及QRandomGenerator_tgtsml的博客-CSDN博客_qrandomicon-default.png?t=M666https://blog.csdn.net/time_forget/article/details/92794286利用QRandomGenerator类(Qt5.10之后新增该类)

需要#include 

qDebug()<bounded(10); //生成一个0和10之间的整数
qDebug()<bounded(10.123); //生成一个0和10.123之间的浮点数
qDebug()<bounded(10, 15); //生成一个10和15之间的整数

你可能感兴趣的:(qt,c++)