如何产生真正的随机函数?
//MSDN
Randomize
为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
---- 在VB中的随机函数是Rnd,但在使用的过程中发现,虽然程序启动后产生的数值是随机的,但对于每次重新启动,程序都会产生相同的随机数序列,应该怎样解决?
----VB中随机函数的原形是: Rnd(number),Rnd函数返回小于1但大于或等于0的值。number (可选项)的值决定了Rnd生成随机数的方式。由于生成随机数方式的确定,导致了每次新启动随机函数,最初给定的种子都会生成相同的数列,因为每一次调用Rnd函数都用数列中的前一个数作为下一个数的种子。
----为了每次运行程序调用随机函数都会有不同的随机数序列,在调用Rnd之前,先使用无参数的Randomize语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子,这样再调用Rnd就会得到不同的随机数序列了。
----另外,根据Randomize的工作原理,用户也可以编制自己的随机函数,即利用函数Timer得到从午夜开始到现在经过的秒数,然后再根据要得到的随机数值大小对该数值进行“衰减”处理,这样得到的数值则可称得上是真正意义的随机数值。
您可能感兴趣的文章
- 01-10如何使用脚本锁定任务栏?
- 01-10运行脚本之前,如何确定计算机上的默认脚本宿主的代码
- 01-10如何调试JScript/VBScript的方法
- 01-10如何通过计划任务调用QuickTest测试脚本
- 01-10vbs循环产生的参数的传递问题
- 01-10VBS如何察看或获得剪切板内容的脚本
- 01-10教你如何解密js/vbs/vbscript加密的编码异处理小结
- 01-10VBS 数字转英文代码
- 01-10用vbs产生的若干个随机数并写入到一个.txt中的代码
- 01-10分享如何在VB中调用VC编写的DLL