| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 611 人关注过本帖
标题:随机数问题。。。
取消只看楼主 加入收藏
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
 问题点数:0 回复次数:2 
随机数问题。。。

表头文件: #include<stdlib.h>定义函数 :int rand(void)函数说明 :因为rand的内部实现是用线性同

余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,

rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()

设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。rand()产生的是假

随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。返回

值:返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最少是在32767之间(int),即双字节(16位

数)。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选

中的机率是相同的。
我的问题是如何生成unsigned int 或是四字节的随机数。。。
还有一个问题 我用下面的两个函数生成随机数。。它们是相同的。。是顺序执行。。都是以时间作为随机种子。
generate(T);
generate(R);
可能是程序短,执行快。。生成的两个随机数是相同的。。可我现在想生成两个1024bit的随机数。要不同的。。谁能帮我想想办法啊(我的1024位是32歌32bit拼起来的,算不算合格啊)

搜索更多相关主题的帖子: 随机数 rand 函数 MAX 定义 
2007-11-03 21:25
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 

while(getchar() != 'q')
{
r = (unsigned int)rand() * (unsigned int)rand();
printf("%u\n", r);
}
这两个rand()生成的随机数,有甚么关系吗?它们是使用的相同的随机种子吗

2007-11-04 11:49
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 
int _tmain(int argc, _TCHAR* argv[])
{ unsigned int R[32],T[32];
generate(T);
generate(R);
getch();
return 0;
}
这样生成的是两个1024位的数。。它们为甚么是相同的啊。。怎么可以解决下啊
2007-11-04 11:53
快速回复:随机数问题。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017054 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved