隨著 compiler 的不同而所產生出來的最大值(RAND_MAX)也有所變化
通常常見的值為
215-1=32767
而另一個常見的值為
231-1=2147483647
寫法可參考以下 Source Code
/************************************************************************/
/* 隨機產生亂數 (Double) */
/************************************************************************/
double randDouble(double lower, double upper)
{
int range; /* 想要產生亂數的區間值 */
double randomValue; /* 記錄隨機產生的數值 */
range = upper - lower;
randomValue = (double) rand(); /* 取得隨機值 */
randomValue = randomValue / RAND_MAX; /* 轉換成介於 0 與 1 之間 */
randomValue = randomValue * range; /* 調整至要產生的區間值 */
randomValue = randomValue + lower; /* 調整至正確對應的值 */
return randomValue;
}
參考網站
casting Rand () to generate double, float
沒有留言:
張貼留言