VB中randomize怎么理解

来源:百度知道 编辑:UC知道 时间:2024/06/28 02:40:43
我知道是初始化随机数发生器
但是我在int(100*rnd)+1 这段前面加和不加看不出什么两样呀,
我还是没有本质上理解randomize的意思,
能不能再详细它的工作原理呀

如果没有randomize
比如
dim a
a=rnd*100
那每次程序运行,第一次取随机数都是一样的,因此是固定的顺序

randomize表示用时间做种子,时间不会后退,因此保证不重复,但是VB的随机数其实是计算出来的,不是真正随机

其实也没有真正随机,买彩票例外

randomize:初始化随机数生成器。
语法:Randomize [number]
可选的 number 参数是变量或任何有效的数值表达式。
说明:Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子 值。如果省略 number,则用系统计时器返回的值作为新的种子值。
如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。
注意:若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
Randomize 语句示例
本示例用 Randomize 语句初始化随机数生成器。由于忽略了数值参数, 所以 Randomize 用 Timer 函数的返回值作为新的随机数种子值。
Dim MyValue
Randomize ' 对随机数生成器做初始化的动作。
MyValue = Int((6 * Rnd) + 1) ' 生成 1 到 6 之间的随机数值。
rand() :功能得到1与n之间的一个伪随机数。
语法rand ( n )
参数n:数值型变量或表达式,指定要产生的伪随机数的上界。有效值在1到32767之间返回值与n的数据类型相同。函数执行成功时返回1与n之间的一个伪随机数,包括1和n在内。如果参数n的值为null,rand()函数返回null
randomize()
功能初始化伪随机数发生器,这样让应用程序每次使用不同的伪随机数序列。
语法randomize