關(guān)于srand(time(0))的解釋

標(biāo)準(zhǔn)庫(kù)定義了一組隨機(jī)數(shù)引擎類和適配器,使用不同數(shù)學(xué)方法生成偽隨機(jī)數(shù)。標(biāo)準(zhǔn)庫(kù)還定義了一組分布模板,根據(jù)不同的概率生成隨機(jī)數(shù)。引擎和分布類型的名字都與它們的數(shù)學(xué)性質(zhì)是相對(duì)應(yīng)的。
但是我們今天就接觸一點(diǎn)點(diǎn)最基礎(chǔ)的知識(shí)。

計(jì)算機(jī)沒(méi)有辦法產(chǎn)生真正的隨機(jī)數(shù)的,是用算法模擬,所以你只調(diào)用rand,每次出來(lái)的東西是一樣的。設(shè)置一個(gè)種子后,根據(jù)種子的不同,就可以產(chǎn)生不同的數(shù)了。而怎么保證種子的不同呢?最簡(jiǎn)單的辦法當(dāng)然是用永遠(yuǎn)在向前的時(shí)間。

srand(time(0)) ;//先設(shè)置種子
rand();//然后產(chǎn)生隨機(jī)數(shù)
Srand是種下隨機(jī)種子數(shù),你每回種下的種子不一樣,用Rand得到的隨機(jī)數(shù)就不一樣。為了每回種下一個(gè)不一樣的種子,所以就選用Time(0),Time(0)是得到當(dāng)前時(shí)時(shí)間值(因?yàn)槊繒r(shí)每刻時(shí)間是不一樣的了)。

srand(time(0)) ;
就是給這個(gè)算法一個(gè)啟動(dòng)種子,也就是算法的隨機(jī)種子數(shù),有這個(gè)數(shù)以后才可以產(chǎn)生隨機(jī)數(shù),
用1970.1.1至今的秒數(shù),初始化隨機(jī)數(shù)種子。
————————————————

原文鏈接:https://blog.csdn.net/lc574260570/article/details/87868640

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容