标题:随机数问题!
只看楼主
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
得分:0 
以下是引用feng1256在2006-5-9 22:54:00的发言:

0---0x7fff 之间,当然自己也可以设定

我没做过具体测试
在库函数介绍里是说是-90~32767

2006-05-10 07:18
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
得分:0 
以下是引用seagullFHcn在2006-5-9 21:24:00的发言:
const unsigned long maxshort=65536L;
class RandomNumber
{
private:
unsigned long randseed;
public:
RandomNumber(unsigned long s=0);
unsigned short Random(unsigned long n);
double fRandom(void);
};
RandomNumber::RandomNumber(unsigned long s)
{
if(s==0)
randseed=time(0);
else
randseed=s;
}
unsigned short RandomNumber::Random(unsigned long n)
{
randseed=multiplier*randseed+adder;
return (unsigned short)((randseed>>16)%n);
}
double RandomNumber::fRandom(void)
{
return Random(maxshort)/double(maxshort);
}
然后需要用随机数时写上
RandomNumber ***(变量名);
则***.fRandom()返回的就是一个0~1的double型随机数。
当然你要更大的自己再乘上放大倍数就可以了。

我最近在自学c++这东西,以后还请阁下多多帮忙了!


对不礼貌的女生收钱......
2006-05-10 16:04



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




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

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