C++ 需要帮助更好地理解RNG吗
在这篇文章()的最后一个例子中,作者声称这是一种更好的生成随机数的方法。然而,我读了这一行,仍然不知道该怎么做C++ 需要帮助更好地理解RNG吗,c++,random,C++,Random,在这篇文章()的最后一个例子中,作者声称这是一种更好的生成随机数的方法。然而,我读了这一行,仍然不知道该怎么做 random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0)); 我测试了这段代码,但每次都会产生“1”的值 我希望有人能提供澄清。假设您想要生成范围[a,b)中的随机整数。这可以通过生成范围[0,b-a)中的随机整数并添加a来实现: random_integer = a + rand(0, b - a) 我们可以使用普通的RA
random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0));
我测试了这段代码,但每次都会产生“1”的值
我希望有人能提供澄清。假设您想要生成范围
[a,b)
中的随机整数。这可以通过生成范围[0,b-a)
中的随机整数并添加a
来实现:
random_integer = a + rand(0, b - a)
我们可以使用普通的
RAND()
生成[0,RAND\u MAX]
范围内的随机整数。现在,我们需要调整此间隔以适应[0,r)
,r=b-a
。因为RAND\u MAX
是RAND()
返回的最大值,RAND()/(MAX\u RAND+1.0)
位于[0,1)
。因此,r*rand()/(MAX\u rand+1.0)
位于[0,r)
我想你应该分享一下你对最低值
和范围
的定义,因为它们是最有可能受到指责的。提示:自C++11以来,还有,现在被认为是在一定间隔内生成随机整数的首选方法。