能稍微详细一点吗?
追答1.rand 随机函数发生器
用法:int rand(void);
用法?:void srand(unsigned seed);
说明:rand使随机数发生器产生一范围从0~2的随机数。发生器通过调用参数值为1的srand函数可重初始化,也可用给定的函数值。
seed调用srand产生一新的起点。
可移植性:UNIX系统适用
源程序:
#include
#define MULTIPLIER 0x015a4e35L
#define INCREMENT 1
static long Seed = 1;
int rand(void)
{
Seed = MULTIPLIER*Seed + INCREMENT;
return ((int)(Seed>>16) & 0x7fff);
}
2.srand 初始化随机数发生器
用法:void srand(unsigned seed);
源程序:
#include
#define MULTIPLIER 0x015a4e35L
#define INCREMENT 1
static long Seed = 1;
void srand(unsigned seed)
{
Seed = seed;
}
摘自TC库函数源程序一书。
自己实现一个产生随机数的函数见高手这里:www.luocong.com/articles/show_article.asp?Article_ID=24
int rand(void)
{
Seed = MULTIPLIER*Seed + INCREMENT; //一个简单的乘法、加法运算
return ((int)(Seed>>16) & 0x7fff);
//Seed>>16是将seed向右移16位,seed是long型,只取高16位
//& 0x7fff,0x7fff转成2进制是0111111111111111,作用是把这个整数变为正整数
}