C++ 隨機(jī)種子

2023-03-20 16:02 更新

當(dāng)你將本章節(jié)的程序運(yùn)行了幾遍后,你就會(huì)發(fā)現(xiàn),我們所得到的隨機(jī)數(shù)值都是一樣的。很明顯,他們不是所謂的隨機(jī)出現(xiàn)的。

偽隨機(jī)數(shù)出現(xiàn)的特性之一是如果一連串隨機(jī)數(shù)出現(xiàn)的起始點(diǎn)一樣,則這一串?dāng)?shù)字始終是一樣的。隨機(jī)數(shù)出現(xiàn)的起始點(diǎn)稱作種子。每次運(yùn)行C++程序時(shí),它默認(rèn)將隨機(jī)數(shù)種子保持一致。

當(dāng)你調(diào)試程序時(shí),產(chǎn)生相同的序列對(duì)你是非常有用的。當(dāng)你修改程序時(shí),就可以有一個(gè)更好的比對(duì)。

如果你想換一組隨機(jī)數(shù),可以使用srand函數(shù)。它只需一個(gè)參數(shù),這個(gè)函數(shù)會(huì)取一個(gè)從0到RAND_MAX的隨機(jī)數(shù)。

在許多的程序中,比如說游戲,我們希望每次運(yùn)行游戲時(shí)都能得到不同的隨機(jī)數(shù)列。通常的方法是使用如gettimeofday這樣的庫函數(shù)來獲取可信的、不可預(yù)料及不重復(fù)的隨機(jī)數(shù)作為種子,有如最后一秒里面的毫秒數(shù)值作為隨機(jī)數(shù)種子。操作的細(xì)節(jié)取決于你的開發(fā)環(huán)境。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)