烽火社区

标题: Arduino randomSeed(seed) 和 random有什么区别呢 [打印本页]

作者: Krait    时间: 2015-10-11 04:25 AM
标题: Arduino randomSeed(seed) 和 random有什么区别呢
不都是生成随机数字吗 具体有啥区别呢

作者: 拾穗ER    时间: 2015-10-11 04:25 AM
randomSeed(seed)

randomSeed( )函数用来设置随机数种子,随机种子的设置对产生的随机序列有影响。函数无返回值,原型如下:

void randomSeed(unsigned int seed)
{
       if (seed != 0)
       {
                 srandom(seed);
       }

}


random
所在的头文件
stdlib.h
 
原型
int random(int num);
random函数返回一个0~num-1之间的随机数. random(num)是在stdlib.h中的一个宏定义. num和函数返回值都是整型数.
 
2描述编辑
random()函数将生成伪随机数。
 
3语法编辑
在arduino中
random(max) 
random(min, max)
min - 随机数的最小值,随机数将包含此值。 (此参数可选)
max - 随机数的最大值,随机数不包含此值。( 数据类型为long )
 
 
 
    形式:random(long max)
 
    random(long min, long max)
 
    参数:max为输出随机数范围的最大值。
 
    min为输出随机数范围的最小值。
 
    该函数以randomSeed()设定的种子输出指定范围的整数伪随机数,random(long max)相当于random(0,long max),输出0~max范围的整数随机数。


作者: cqulp    时间: 2015-10-18 11:43 AM

Random函数你可以试验一下,会发现它生成的数并不是随机的,很有可能会每次一模一样

Randomseed虽然是伪随机,但是每次产生的数都不一样。

一般我都用randomseed(time)


作者: 曾经沧海88    时间: 2015-10-19 07:38 PM

[attach]34002[/attach] 仅仅通过random()产生的随机数是具有一定的序列的,每次使用结果可能相同。但是如果先使用randomseed(X),通过设置不同的X值,再使用random()可以得到不同序列的随机数。







欢迎光临 烽火社区 (https://bbs.cnecport.com/) Powered by Discuz! X3.2