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毫秒