c - 在 c 中使用 srand() 生成大数

标签 c random srand

我想在 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 - 在 c 中使用 srand() 生成大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29714238/

相关文章:

java - 从坐标获取随机位置

python-3.x - python : How can I press arrow keys randomly selenium

c++ - 在函数之间共享变量 - rand() srand

c - Mac OS (10.13.1) fork 进程的task_for_pid "(os/kern) failure"

c++ - 在窗口操作系统中从 c 命令启动应用程序

c - 了解有关内存对齐的 C 程序

python - pygame 的随机线生成

c++ - 默认的构造函数和析构函数是内联的吗?

c - 隐式函数声明 'time' [-Wimplicit-function-declaration]|

使用指针和数组创建随机故事生成器来处理字符串