我需要使用C.我的意思是产生的随机的64位无符号整数,范围应该0以18446744073709551615.RAND_MAX是1073741823.
我在链接中找到了一些可能重复的解决方案,但答案主要是连接一些rand()结果或进行一些增量算术运算.所以结果总是18位或20位.我也希望像成果5,11,33387,不只是3771778641802345472.
顺便说一句,我真的没有这么多的C经验,但任何方法,代码样本和想法都可能是有益的.
我需要你的帮助,请给我一些建议.从编程珍珠我知道要生成随机30位整数,我们应该像这样写:
RAND_MAX*rand()+rand()
Run Code Online (Sandbox Code Playgroud)
但是,我可以做什么来产生不是30,而是64位随机整数呢?我认为这是非常低效的方法,如果我乘以两个30位整数然后再乘以4位整数,那么我应该使用什么样的方法?我现在使用popcount_1不同的64位方法,我想在随机整数上测试它(我也在测量每个完成任务所需的时间)
我想用c ++生成0到2 ^ 64范围内的非常大的随机数.我使用了rand()函数但它没有生成非常大的数字.任何人都可以帮忙吗?
我想在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)