首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问一下生成long 型的随机数如何写

2012-03-09 
问一下生成long 型的随机数怎么写?呵呵,srand((unsigned)time(NULL))rand()生成的是int型的吧。怎么生成l

问一下生成long 型的随机数怎么写?
呵呵,
srand(   (unsigned)time(   NULL   )   );
rand();
生成的是   int   型的吧。
怎么生成   long   型的呢?

[解决办法]
我用的是VC2003,在我的机器上,long long型和int倒是不一样的,前者64位,后者32位,可以做个实验:

#include <cstdlib>
#include <ctime>
#include <limits>
#include <iostream>
using namespace std;

const int INT_NUM= (sizeof(long long) + sizeof(int) - 1) / sizeof(int);
union longlong_random {
intirand[INT_NUM];
long longllrand;
};

void main()
{
srand((unsigned int)time(0));
longlong_random lr;
for(int i = 0; i < INT_NUM; i++) {
lr.irand[i] = rand();
}
cout < < lr.llrand < < endl;
}

你可以把它改造成一个模板,产生任意整数类型的随机数,呵呵。

热点排行