生成随机双数 [英] Generate Random Double Number
本文介绍了生成随机双数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何生成介于0 - 1.5之间的随机双数?
How to generate a random double number between 0 - 1.5?
推荐答案
在C ++ 11中,您可以这样写:
In C++11 you can write this:
#include <random>
#include <ctime>
double generate(double min, double max)
{
using namespace std;
static default_random_engine generator(unsigned(time(nullptr)));
uniform_real_distribution<double> distribution(min, max);
return distribution(generator);
}
...
generate(0, 1.5);
参见rand_s
:
http://msdn.microsoft.com/en-us/library/sxtz2fa8(v = vs.110).aspx [ ^ ]
注意生成的示例一个范围内的双重随机数。
Seerand_s
:
http://msdn.microsoft.com/en-us/library/sxtz2fa8(v=vs.110).aspx[^]
Note the example which has generation of double random numbers in a range.
您好,
您可以使用此代码:
Hi,
you can use this code:
template <typename T>
T RandomGenerator<T>::generate(T lowerLimit, T upperLimit)
{
static bool initialized = initialize();
return double(rand()) * (upperLimit - lowerLimit) / RAND_MAX + lowerLimit;
}
template <typename T>
bool RandomGenerator<T>::initialize()
{
srand(time(NULL));
}
double dVal = RandomGenerator<double>::generate(0, 1.5); //Generate doubles between (and including) 0 and 1.5.
T
这篇关于生成随机双数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文