猿问

随机浮点数生成

随机浮点数生成

如何在C+中生成随机浮点数?

我想我可以用整数兰特除以它,这样就足够了吗?


沧海一幻觉
浏览 644回答 3
3回答

HUH函数

rand()可用于生成C+中的伪随机数.结合在一起RAND_MAX再来点数学,你可以在任意的时间间隔内生成随机数。这是足够的学习目的和玩具计划。如果你需要真心实意具有正态分布的随机数,您需要使用更高级的方法。这将生成一个从0.0到1.0(含)的数字。float&nbsp;r&nbsp;=&nbsp;static_cast&nbsp;<float>&nbsp;(rand())&nbsp;/&nbsp;static_cast&nbsp;<float>&nbsp;(RAND_MAX);这将生成一个从0.0到任意的数字。float,&nbsp;X:float&nbsp;r2&nbsp;=&nbsp;static_cast&nbsp;<float>&nbsp;(rand())&nbsp;/&nbsp;(static_cast&nbsp;<float>&nbsp;(RAND_MAX/X));这将从一些任意的数据中生成一个数字。LO对某些武断的人HI:float&nbsp;r3&nbsp;=&nbsp;LO&nbsp;+&nbsp;static_cast&nbsp;<float>&nbsp;(rand())&nbsp;/(&nbsp;static_cast&nbsp;<float>&nbsp;(RAND_MAX/(HI-LO)));注意,rand()如果需要真正的随机数,函数通常是不够的。在打电话之前rand(),您必须首先通过调用srand()..这应该在你的程序运行期间完成一次-而不是每次你打电话的时候rand()..这通常是这样做的:srand&nbsp;(static_cast&nbsp;<unsigned>&nbsp;(time(0)));为了打电话rand或srand你必须#include <cstdlib>.为了打电话time,你必须#include <ctime>.
随时随地看视频慕课网APP
我要回答