VB中关于randomize和rnd函数的这段话什么意思?
答案:4 悬赏:60
解决时间 2021-02-20 01:19
- 提问者网友:你独家记忆
- 2021-02-19 20:32
VB中关于randomize和rnd函数的这段话什么意思?
最佳答案
- 二级知识专家网友:十年萤火照君眠
- 2021-02-19 20:52
VB中用rnd这个函数,其实是得到伪随机数字。
具体来讲,rnd每次实现的随机并不是真正的随机数字
例如:
第一次产生一个序列,第二次也会产生这个序列,就是得到重复的随机序列的意思。
要避免这种现象,就必须更换每次的随机种子Random Seed
也就是在用rnd函数之前,用Randomize函数,
这样就可以实现更加复杂的随机数列了。
具体来讲,rnd每次实现的随机并不是真正的随机数字
例如:
第一次产生一个序列,第二次也会产生这个序列,就是得到重复的随机序列的意思。
要避免这种现象,就必须更换每次的随机种子Random Seed
也就是在用rnd函数之前,用Randomize函数,
这样就可以实现更加复杂的随机数列了。
全部回答
- 1楼网友:笑迎怀羞
- 2021-02-19 22:10
在VB中随机数是随机产生的,可以有重复的数
如果按这种方法则没有运行时产生的随机数
Randomize产生[1,99]的数
Rnd产生小数
如果按这种方法则没有运行时产生的随机数
Randomize产生[1,99]的数
Rnd产生小数
- 2楼网友:摆渡翁
- 2021-02-19 21:20
其实很简单的.
你可以测试一下,用rnd这个函数每次实现的随机并不是真正的随机数字,比如第一次产生一个1,2,4,5这个序列.第二次也会产生1,2,4,5这个序列,后面每次都会得到这个.就是得到重复的随机序列的意思.
而要消除这个就必须更换每次的随即种子,也就是在用rnd函数之前,用Randomize函数,就可以实现真正的随机了.
你可以测试一下,用rnd这个函数每次实现的随机并不是真正的随机数字,比如第一次产生一个1,2,4,5这个序列.第二次也会产生1,2,4,5这个序列,后面每次都会得到这个.就是得到重复的随机序列的意思.
而要消除这个就必须更换每次的随即种子,也就是在用rnd函数之前,用Randomize函数,就可以实现真正的随机了.
- 3楼网友:我住北渡口
- 2021-02-19 21:14
Randomize 这个用来放随机种子,常用来得到接近自然随机的随机数,一般不是很常用,常用的RND函数就足够了
RND函数实现的随机并不是自然的随机数,而是一个不重复的随机数序列。每次做取随机数的动作时从序列中顺序取数值。
RND函数每次调用后返回的值永远是>=0 & <= 1 的,通过与这个返回值进行运算可以得到任何范围的随机值
比如要得到15到35之间的随机数代码可以这么写
随机数=Int(Rnd * 20) + 15
公式为 Int(Rnd * A) + B
A = 最大值 - 最小值
B = 最小值
这个公式可以这么理解,上面提到Rnd的返回值为0 到 1之间,也就是说公式的最小值为Rnd返回值为0时,即为B,同样,最大值为Rnd返回值为1时,即为A+B
类似RND这用假随机数的用处很多,比如设计一个投硬币游戏,玩家在投硬币后计算机给出结果是正是反可以这么做,首先在游戏开始的适合由代码生成0和1的序列,这个序列可以是用随机种子取的数,每次在玩游戏的适合顺序取这个序列里的值作为游戏结果,这样做的好处在于,在大型的网络游戏中很多处会用到随机值来确定某一事情的结果,这个时候的需要取到的随机数的并发数是非常庞大的,如果用随机种子,每个取数的请求都取随机生成一次的化现在的计算机是无法适应那么庞大的运算的,所以这里就用到了随机序列,这个在游戏服务器刚启动时随机生成一个序列在游戏的过程中顺序取得作为随机数,这样速度才能满足庞大的运算
RND函数实现的随机并不是自然的随机数,而是一个不重复的随机数序列。每次做取随机数的动作时从序列中顺序取数值。
RND函数每次调用后返回的值永远是>=0 & <= 1 的,通过与这个返回值进行运算可以得到任何范围的随机值
比如要得到15到35之间的随机数代码可以这么写
随机数=Int(Rnd * 20) + 15
公式为 Int(Rnd * A) + B
A = 最大值 - 最小值
B = 最小值
这个公式可以这么理解,上面提到Rnd的返回值为0 到 1之间,也就是说公式的最小值为Rnd返回值为0时,即为B,同样,最大值为Rnd返回值为1时,即为A+B
类似RND这用假随机数的用处很多,比如设计一个投硬币游戏,玩家在投硬币后计算机给出结果是正是反可以这么做,首先在游戏开始的适合由代码生成0和1的序列,这个序列可以是用随机种子取的数,每次在玩游戏的适合顺序取这个序列里的值作为游戏结果,这样做的好处在于,在大型的网络游戏中很多处会用到随机值来确定某一事情的结果,这个时候的需要取到的随机数的并发数是非常庞大的,如果用随机种子,每个取数的请求都取随机生成一次的化现在的计算机是无法适应那么庞大的运算的,所以这里就用到了随机序列,这个在游戏服务器刚启动时随机生成一个序列在游戏的过程中顺序取得作为随机数,这样速度才能满足庞大的运算
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯