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_MAX)生成0.0和1.0之间的数字。所以把这两个极端置于等式的其余部分,你应该明白为什么它不起作用。 –
请参阅:http://stackoverflow.com/questions/686353/c-random-float –