如何產(chǎn)生真正的隨機(jī)函數(shù)?
//MSDN
Randomize
為了生成某個范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這里,upperbound 是隨機(jī)數(shù)范圍的上限,而 lowerbound 則是隨機(jī)數(shù)范圍的下限。
---- 在VB中的隨機(jī)函數(shù)是Rnd,但在使用的過程中發(fā)現(xiàn),雖然程序啟動后產(chǎn)生的數(shù)值是隨機(jī)的,但對于每次重新啟動,程序都會產(chǎn)生相同的隨機(jī)數(shù)序列,應(yīng)該怎樣解決?
----VB中隨機(jī)函數(shù)的原形是: Rnd(number),Rnd函數(shù)返回小于1但大于或等于0的值。number (可選項)的值決定了Rnd生成隨機(jī)數(shù)的方式。由于生成隨機(jī)數(shù)方式的確定,導(dǎo)致了每次新啟動隨機(jī)函數(shù),最初給定的種子都會生成相同的數(shù)列,因為每一次調(diào)用Rnd函數(shù)都用數(shù)列中的前一個數(shù)作為下一個數(shù)的種子。
----為了每次運行程序調(diào)用隨機(jī)函數(shù)都會有不同的隨機(jī)數(shù)序列,在調(diào)用Rnd之前,先使用無參數(shù)的Randomize語句初始化隨機(jī)數(shù)生成器,該生成器具有根據(jù)系統(tǒng)計時器得到的種子,這樣再調(diào)用Rnd就會得到不同的隨機(jī)數(shù)序列了。
----另外,根據(jù)Randomize的工作原理,用戶也可以編制自己的隨機(jī)函數(shù),即利用函數(shù)Timer得到從午夜開始到現(xiàn)在經(jīng)過的秒數(shù),然后再根據(jù)要得到的隨機(jī)數(shù)值大小對該數(shù)值進(jìn)行“衰減”處理,這樣得到的數(shù)值則可稱得上是真正意義的隨機(jī)數(shù)值。
上一篇:vbs中關(guān)于計算機(jī)名的相關(guān)討論
欄 目:vb
本文標(biāo)題:如何產(chǎn)生真正的隨機(jī)函數(shù)?
本文地址:http://mengdiqiu.com.cn/a1/vb/7938.html
您可能感興趣的文章
- 01-10如何使用腳本鎖定任務(wù)欄?
- 01-10運行腳本之前,如何確定計算機(jī)上的默認(rèn)腳本宿主的代碼
- 01-10如何調(diào)試JScript/VBScript的方法
- 01-10如何通過計劃任務(wù)調(diào)用QuickTest測試腳本
- 01-10vbs循環(huán)產(chǎn)生的參數(shù)的傳遞問題
- 01-10VBS如何察看或獲得剪切板內(nèi)容的腳本
- 01-10教你如何解密js/vbs/vbscript加密的編碼異處理小結(jié)
- 01-10VBS 數(shù)字轉(zhuǎn)英文代碼
- 01-10用vbs產(chǎn)生的若干個隨機(jī)數(shù)并寫入到一個.txt中的代碼
- 01-10分享如何在VB中調(diào)用VC編寫的DLL


閱讀排行
本欄相關(guān)
- 01-10下載文件到本地運行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實例說明
隨機(jī)閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10C#中split用法實例總結(jié)