在 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();