Algorithm 版 (精华区)
发信人: shs (花雨飘), 信区: Algorithm
标 题: Re: 随机数发生器
发信站: 哈工大紫丁香 (Sat Sep 9 12:52:38 2000), 转信
【 在 vag (孤独的流浪汉) 的大作中提到: 】
: 启动一个定时器,随机读取几个计数值,再进行 ·AND·, ·OR·,
: ·XOR·等逻辑处理,就能得到随机数。
: 这种方法非常简单,而且很有效。你可以一试 !
如果你的随机数是用于二进制运算,那最好不用这种方法。应该用+,-,*,/
%得到的随机数。
static int srandomi ;
int randomi (int i)
{
srandomi = srandomi * 0x343fd + 0x269ec3 ;
return ((srandomi>>16) & 0x7fff) % i ;
}
void randomize()
{
srandomi = time(NULL) ;
}
效果还可以,试试把,不过是15位以下的,可以该成16位的。
--
※ 来源:.武汉白云黄鹤站 s1000e.whnet.edu.cn.[FROM: 202.114.67.88]
※ 修改:.shs 于 Sep 9 12:50:21 修改本文.[FROM: as.hit.edu.cn]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: as.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: shs.bbs@bbs.whnet.ed]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.631毫秒