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 –