标题:[讨论]有关rand()生成数的大小..
只看楼主
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 

//------- 失误 ,因为因为数据刷新了 -------------//

[此贴子已经被作者于2007-11-4 1:26:15编辑过]


—>〉Sun〈<—
2007-11-03 23:23
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 
回复:(cosdos)// 回楼上#include #...

先生没看懂我在说什么吧?

2007-11-04 00:37
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 

因帖子列表刷新,失误


—>〉Sun〈<—
2007-11-04 01:27
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 

把2个16位随机数的位拼接为一个32位的可以产生32bit随机数。

产生32个 rand % 2 的数,也可以实现32bit随机数。




[此贴子已经被作者于2007-11-4 2:10:45编辑过]


—>〉Sun〈<—
2007-11-04 01:37
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
得分:0 
谢谢大家的提示
2007-11-04 11:41
jackys2006
Rank: 1
等 级:新手上路
帖 子:195
专家分:0
注 册:2006-3-10
得分:0 
以下是引用leeco在2007-11-3 23:21:10的发言:
又想了想我上面的问法有些错误,X,Y都是离散型随机变量,不是服从均匀分布。
而X*Y的分布没有必要讨论了。
如果按照cosdos的做法,(RAND_MAX,RAND_MAX*RAND_MAX]之间的质数被随机到的可能性是0,原因很简单一个质数不可能被分解成两个数的乘积的形式,所以这种做法确实是欠妥的。

这位同学,假如要得到质数5,那么5可以分解为1和5,以及5和1的乘积。
只不过随到的可能性要更小而并非为0


2007-11-04 19:39
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 
以下是引用jackys2006在2007-11-4 19:39:07的发言:

这位同学,假如要得到质数5,那么5可以分解为1和5,以及5和1的乘积。
只不过随到的可能性要更小而并非为0

先生请注意我提到的区间范围。

2007-11-04 21:59
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
回复:(leeco)以下是引用jackys2006在2007-11-4 19:...

确实如此,质数(素数)

RAND_MAX 到 RAND_MAX*RAND_MAX 之间的

我只想到 使用位操作 或 数组。(我的编译器不支持64位)
union ran
{
short a16[2];
unsigned int a32;
};

/* 用联合存放2个16位随机数,以实现32位随机数 */

关于产什么32位随机数有什么好的提议吗?

[此贴子已经被作者于2007-11-5 1:00:11编辑过]


—>〉Sun〈<—
2007-11-05 00:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-182662-1-1.html




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

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