code-prettify

2015年9月23日 星期三

Qt - 使用 qrand() 產生亂數 rand

Qt - 使用 qrand() 產生亂數 rand

max 最大值
min 最小值

qrand() % ((max + 1) - min) + min;

產生出來的亂數包含 max 及 min 兩者。

如果連續執行多次程式,會發現每次產生的亂數都是一樣的,
因為電腦產生的亂數,其實是偽亂數,所以想要讓每次的亂數不同,
還需要執行 qsrand 來設定亂數種子。

備註:使用 QTime::currentTime().msec() 現在時間當作種子來設定
備註:使用 QElapsedTimer 取得小於 ms 的時間刻度

資料來源:
Qt Documentation - <QtGlobal> - Global Qt Declarations
http://doc.qt.io/qt-5/qtglobal.html#qrand

How to generate random number between two numbers? Qt
http://qt-project.org/forums/viewthread/24262

Use of qsrand, random method that is not random
http://stackoverflow.com/questions/2767383/use-of-qsrand-random-method-that-is-not-random

Qt: Fast way to measure time?
http://stackoverflow.com/questions/244646/qt-fast-way-to-measure-time

沒有留言:

張貼留言