我知道这是一个相当简单的问题,但我的数学不太好。
我知道如何生成 0 到 1 之间的随机浮点数:
float random = ((float) rand()) / (float) RAND_MAX;
- 但是,如果我想要一个给定两个浮点数范围的函数,返回该范围内的伪随机浮点数,该怎么办?
Example:
RandomFloat( 0.78, 4.5 ); //Could return 2.4124, 0.99, 4.1, etc.
float RandomFloat(float a, float b) {
float random = ((float) rand()) / (float) RAND_MAX;
float diff = b - a;
float r = random * diff;
return a + r;
}
这可以通过返回来实现a
plus 某物, where 某物介于 0 和b-a
这使得最终结果介于两者之间a
and b
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)