QT生成随机数 与 QTime

目录

QT生成随机数

QTime

Qt生成随机数的技巧

QTime

12、int msecsTo(QTime t)

    返回从当前时间到 t 的毫秒数。如果 t 早于此时间,则返回的毫秒数为负数。

    QTime测量的是一天内的时间,一天有86400秒,所以结果总是在 (-) -86400000 到 正(+)86400000毫秒之间。

    如果任一时间无效,则返回 0。

————————————————
版权声明:本文为CSDN博主「友善啊,朋友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kenfan1647/article/details/120394462

Qt生成随机数的技巧

Qt可以以时间为种子,生成0 - N范围内的随机整数。

QTime time;
time= QTime::currentTime();
qsrand(time.msec()+time.second()*1000);

使用例子:
int n = qrand() % 1000; //产生0-999随机数

重点:
1、经过实践,要在循环外面设置种子,循环的时候用qrand()函数获取随机数。
2、千万不能在循环内部设置时间种子,因为循环一次时间太短,会产生大量重复的值,重要的说三遍,有大量重复的值!这样是没有意义的。
3、计算机产生的随机数都是伪随机数,不是真正意义的随机数,不能用它来统计概率学的,切记!

Qt生成随机数的技巧

 QT生成随机数

QT生成随机数和C语言差距不大,C语言用srand()和rand(),QT是用Qsrand()和qrand();

QT生成随机数的格式是:

qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
qrand();
这里因为有QTime()所以要加头文件#include<QTime>,而qsrand和qrand这两个函数则在#include <QtGlobal>里。
qsrand用来设置一个种子,该种子为qrand生成随机数的起始值。如果不用qsrand设置种子会导致每次运行程序得到的随机数
一样。

#include <QtGlobal>
#include<QTime>
#include <QDebug>

void get_random_number()
{
    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
    int a = qrand()%9999999;   //随机生成0到9的随机数
    qDebug()<< a;
}

https://www.cnblogs.com/xiaolanchong/p/7528187.html

Qt生成随机数的方法


https://www.jb51.net/article/230428.htm

Qt 随机数

https://www.cnblogs.com/fuqia/p/8903595.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值