日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT 随机数生成

發布時間:2023/12/13 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT 随机数生成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面總結了QT中隨機生成的方法(僅供學習參考),分為舊方法和新方法,一般來說,舊的方法已經被拋棄,在開發新的應用中推薦使用新方法。

C++ Code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
? #include?<QCoreApplication>
#include?<QDebug>
#include?<QTime>
#include?<QRandomGenerator>

int?main(int?argc,?char?*argv[])
{
????QCoreApplication?a(argc,?argv);
????
//?舊方法
????//?生成隨機數主要用到了函數qsrand和qrand,這兩個函數在#include?<QtGlobal>中;
????//?qsrand用來設置一個種子,該種子為qrand生成隨機數的起始值。
????//?比如說qsrand(10),設置10為種子,那么qrand生成的隨機數就在[10,32767]之間。
????//?而如果在qrand()前沒有調用過qsrand(),那么qrand()就會自動調用qsrand(1),即系統默認將1作為隨機數的起始值。
????//?使用相同的種子生成的隨機數一樣。
????//?在使用qrand()函數產生隨機數之前,一般要使用qsrand()函數為其設置初值,如果不設置初值,那么每次運行程序,qrand()都會產生相同的一組隨機數。
????qsrand(QTime(0,?0,?0).secsTo(QTime::currentTime()));
????
int?nTestNum?=?qrand()?%?100;
????qDebug()?<<?nTestNum;
????
//?新方法(推薦使用)
????qDebug()?<<?QRandomGenerator::global()->bounded(256);
????qDebug()?<<?QRandomGenerator::global()->bounded(
256.0);
????
return
?a.exec();
}

說明:舊方法使用的是qsrand()和qrand()的組合實現方法,精度一般;新方法使用的是QRandomGenerator類,可以提供高精度的隨機數實現。

轉載于:https://www.cnblogs.com/MakeView660/p/10514986.html

總結

以上是生活随笔為你收集整理的QT 随机数生成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。