rand()是否有某种数字限制?

时间:2014-01-06 01:32:48

标签: c++

如果我尝试做类似的事情:

srand(time(NULL));
for(int i = 0; i < 10000; i++){
   float x = rand() % 1000000000000;
   output_file << x << endl;
}

我似乎只得到x的数字小于100000. rand()是否有某种限制,禁止超过这个数量?有没有办法绕过这个(特别是我在上面的代码中尝试rand())?

编辑:刚刚意识到限制是由RAND_MAX设定的。仍在寻找解决方法。

1 个答案:

答案 0 :(得分:2)

它不是由RAND_MAX设置的,那就是那里,所以你知道它是什么。 兰特发电机无法调整。

如果你需要一个范围更广的随机数发生器,你将不得不在其他地方找到它。除此之外,boost库还有一个'Random'组件,这可能有用(我没看过)。