日期:2014-05-16  浏览次数:20656 次

关于linux和windown的随机数产生函数的弱智问题?
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 getRandom(int max , int min)
{
if((max - min < 65535) && (max - min > 0)){
srand( (unsigned)time( NULL ) );
result = min + (rand() % ( max - min));
}else{
//else看着办吧 - -
}
return result;
}