问几个函数的含义 小弟学php不久,现在在看人家写的程序看到一段:srand((double)microtime()*1000000);$randval = rand(0,1);这两句都有什么作用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 srand((double)microtime()*1000000);//播下随机数发生器种子$randval = rand(0,1);//产生0到1之间的随机数 这里即 0或者1 二楼,不好意思,我才没学多少天。srand((double)microtime()*1000000);//播下随机数发生器种子能不能再通俗一点呢?这个语句有什么实际用途?多用于什么情况呢? php 4.2后就不需要手动调用srand了。直接使用rand即可。关于 srand怎么说呢,计算机的随机算法其实被称为伪随机算法,1.计算机的伪随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就是固定的。2.只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟。为了保证这个产生随机数的随机性,我们人为地为这个随机数种子取值,也就是调用 srand这个函数。看一段代码://rand01.c#includestatic unsigned int RAND_SEED;unsigned int random(void){RAND_SEED=(RAND_SEED*123+59)%65536;return(RAND_SEED);}void random_start(void){int temp[2];movedata(0x0040,0x006c,FP_SEG(temp),FP_OFF(temp),4);RAND_SEED=temp[0];}main(){unsigned int i,n;random_start();for(i=0;i<10;i++)printf("%u\t",random());printf("\n");} 这里 random_start()对应于srand函数。当然这段代码种子值通过主板上的定时/计数器在内存中的值来实现这一算法,很漂亮。 srand((double)microtime()*1000000);//播下随机数发生器种子microtime() 取得很细的时间值。再转成 double 类型变量。,再变大 1000000倍。在 1 到 上面的数之间取值。一个整数。就是随机数了。 各位,在下深表感激。特别是rayhome1987 高手指点,老师请进! 如何整句精确搜索? php 如何清空TXT 文件内容 PHP下的数据库连接问题 php框架的问题,高手进啊 如何实现到"下一页“的翻页处理 如何根据源码写数据库? 初学PHP 求助,两台服务器居然不如一台 请问那里可以下载到4Images的源代码呢?急~~~~ 求助 循环累加到本页面显示 Xampp搭建的服务器性能好不好?我怎么觉得不快
srand((double)microtime()*1000000);//播下随机数发生器种子
能不能再通俗一点呢?
这个语句有什么实际用途?
多用于什么情况呢?
关于 srand怎么说呢,
计算机的随机算法其实被称为伪随机算法,1.计算机的伪随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就是固定的。
2.只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟。为了保证这个产生随机数的随机性,我们人为地为这个随机数种子取值,也就是调用 srand这个函数。
看一段代码://rand01.c
#include
static unsigned int RAND_SEED;
unsigned int random(void)
{
RAND_SEED=(RAND_SEED*123+59)%65536;
return(RAND_SEED);
}
void random_start(void)
{
int temp[2];
movedata(0x0040,0x006c,FP_SEG(temp),FP_OFF(temp),4);
RAND_SEED=temp[0];
}
main()
{
unsigned int i,n;
random_start();
for(i=0;i<10;i++)
printf("%u\t",random());
printf("\n");
}
这里 random_start()对应于srand函数。当然这段代码种子值通过主板上的定时/计数器在内存中的值来实现这一算法,很漂亮。
在 1 到 上面的数之间取值。一个整数。
就是随机数了。