【发布时间】:2012-05-27 17:57:41
【问题描述】:
double get_random(double min, double max) {
/* Returns a random double between min and max */
return min * ((double) rand() / (double) RAND_MAX) - max;
}
这是我在最小值和最大值之间生成随机双精度的函数。但是,当我调用 get_random(-1.0, 1.0); 时,我得到的值介于 -2.0 和 -1.0 之间。
知道我做错了什么以及如何解决吗?
【问题讨论】:
-
(rand/RAND_MAX) 生成一个介于 0.0 和 1.0 之间的数字。因此,将这两个极端放入等式的其余部分,您应该会明白为什么它不起作用。