我目前正在 Qt5.3 中实现一个随机数生成器,作为遗传算法实验的一部分。我尝试了几种方法,但最好的似乎是:
// Seed the random generator with current time
QTime time = QTime::currentTime();
qsrand((uint)time.msec());
然后这个函数生成随机数:
int MainWindow::getRandomNo(int low, int high)
{
return qrand() % ((high + 1) - low) + low;
}
由于这些实验的性质,这些数字的随机性很重要。有没有办法提高随机数样本的质量?经过统计分析,Qt 随机数生成器表现出旧版随机数生成系统中的典型模式。
上面使用的方法依赖于当前时间作为数字生成器的种子。有没有办法改进种子,使随机序列不易出现模式?我将非常感谢任何帮助。
最佳答案
关于c++ - 提高 Qt 5.3 中随机数生成的质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26183248/