rand()产生一个0到0x7ffff即0到32767之间的随机数
RAND_MAX即为0x7ffff。
所以rand()/RAND_MAX可表示为在[0,1]区间内的随机数
rand()/(RAND_MAX+1)可表示为在[0,1)区间内的随机数
例:
实现(0,10)之间的随机数
double random(double start,double end)
{
return start + (end - start) * rand() / (RAND_MAX + 1.0);
}
random(0,10)//调用