当前位置: 技术问答>linux和unix
关于linux和windown的随机数产生函数的弱智问题?
来源: 互联网 发布时间:2016-01-27
本文导语: double Random(double min,double max) { int min_integer=(int)(min*10000000); int max_integer=(int)(max*10000000); int rand_integer=rand()*rand(); ...
double Random(double min,double max)
{
int min_integer=(int)(min*10000000);
int max_integer=(int)(max*10000000);
int rand_integer=rand()*rand();
int diff_integer=max_integer-min_integer;
int result_integer=rand_integer%diff_integer+min_integer;
return (result_integer/10000000.0);
}
这个函数在windowns下可以产生min到max之间均匀分布的随机数,
但在liunx下产生的数不在此范围了,不知道怎么修改才能在linux下产生min到max范围均匀分布的随机数呢?
linux初学者的弱智问题,请各位高手帮忙,谢谢!
{
int min_integer=(int)(min*10000000);
int max_integer=(int)(max*10000000);
int rand_integer=rand()*rand();
int diff_integer=max_integer-min_integer;
int result_integer=rand_integer%diff_integer+min_integer;
return (result_integer/10000000.0);
}
这个函数在windowns下可以产生min到max之间均匀分布的随机数,
但在liunx下产生的数不在此范围了,不知道怎么修改才能在linux下产生min到max范围均匀分布的随机数呢?
linux初学者的弱智问题,请各位高手帮忙,谢谢!
|
int getRandom(int max , int min)
{
if((max - min 0)){
srand( (unsigned)time( NULL ) );
result = min + (rand() % ( max - min));
}else{
//else看着办吧 - -
}
return result;
}
{
if((max - min 0)){
srand( (unsigned)time( NULL ) );
result = min + (rand() % ( max - min));
}else{
//else看着办吧 - -
}
return result;
}