我想在c中生成大的随机数.问题是srand()可以产生的最大数量大约是37000.我想在intervall 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;
}
Run Code Online (Sandbox Code Playgroud)
首先,检查RAND_MAX可以生成的最大值rand()。
您可以将两个rand()结果组合成一个值。
int random = (rand() << 16) | rand();
Run Code Online (Sandbox Code Playgroud)