如何从 C++ 生成一个随机的 double 值,均匀分布在 0 和 1 之间?
当然我可以想到一些答案,但我想知道标准做法是什么,有:
- 良好的标准合规性
- 良好的随机性
- 速度不错
(对于我的应用来说,速度比随机性更重要)。
非常感谢!
PS:如果重要的话,我的目标平台是 Linux 和 Windows。
最佳答案
一个老式的解决方案,例如:
double X=((double)rand()/(double)RAND_MAX);
应该满足您的所有标准(便携、标准和快速)。 显然生成的随机数必须播种标准程序是这样的:
srand((unsigned)time(NULL));
关于c++ - 如何从 C++ 生成均匀分布在 0 和 1 之间的随机 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1340729/