在 c 中使用 srand() 生成大数
Generate big numbers with srand() in c
我想在 c 中生成大的随机数。问题是 srand() 可以生成的最大数字约为 37000。我想在 70000 到 2150000000 之间创建一个数字。谁能帮我解决这个问题。
随机数生成器:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main ()
{
srand(time(NULL));
int i;
for (i=0; i<50; i++)
{
int random = rand();
printf("%d\n",random);
}
return 0;
}
首先,检查RAND_MAX
可以由rand()
生成的最大值。
您可以将两个 rand()
结果组合成一个值。
int random = (rand() << 16) | rand();
我想在 c 中生成大的随机数。问题是 srand() 可以生成的最大数字约为 37000。我想在 70000 到 2150000000 之间创建一个数字。谁能帮我解决这个问题。
随机数生成器:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main ()
{
srand(time(NULL));
int i;
for (i=0; i<50; i++)
{
int random = rand();
printf("%d\n",random);
}
return 0;
}
首先,检查RAND_MAX
可以由rand()
生成的最大值。
您可以将两个 rand()
结果组合成一个值。
int random = (rand() << 16) | rand();