vb中randomize和rnd函数的使用区别

在学VB的随机函数时,出现了randomize和rnd函数,并且MSDN中显示有

randomize(number)

rnd(number)

竟然可以加参数。

因此,刚刚研究了一下加number参数的事情。

了解到,随机函数生成随机数是需要一系列种子来生成一列伪随机数。

那么生成随机数是rnd的事情,而生成种子则是randomize的事情。

一、Rnd函数

当rnd不使用number参数时,且无randomize进行初始化,则无论何时生成的一系列随机数都相同。

当使用number参数时,则有一点区别:number大于0时,与不使用number参数时表现一摸一样,随机数也相同。

而当number小于等于0时,不同的number生成一些列相同的随机数,也就是重复的。所以想要一个重复的数字就用rnd(<=0),想要多个重复的序列,就用多次负数。

 

二、randomize函数

显然rnd不能满足我们对随机数的需求,这是因为rnd的种子不行,需要吃点补药壮一壮,randomize上场。

Randomize不调用number参数时,这时默认使用系统时间为参数,timer:

       Rnd无参和Rnd的参数number大于0时,均生成一系列不同的随机数,任何时候都不一样的随机数,说明randomize的已经将随机数生成器初始化了,种子每时每刻都在改变。

当Rnd的number等于0时,出现一个奇怪的现象,虽然生成的一系列随机数不相同,但是随机数之间的变化变得很小。

当rnd的number小于0时,又会变的和没有randomize一样,任何时候都生成一系列相同重复的随机数。

 

三、当randomize调用number时,而rnd无参时:

randomize(number),其中number是确定的值,此时调用rnd生成的也是一系列确定的随机数列。

 

四、当randomize和rnd都调用number参数时,这就有趣了。。

     经过试验发发现,当rnd调用的number小于0时,randomize失去作用。

                                  当rnd调用number等于0时,randomize的number变化,rnd也随之变化,当number都为0时,结果为0。

                                  当rnd调用number大于0时,randomize的number变化,结果是一系列随机,每次运行都不变的随机数列。

五、结论

研究这么多,浪费功夫了。

 

想要随机数就

randomize

rnd

想要

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值