導讀您好,現在軟糖來為大家解答以上的問題。rand函數的使用方法,rand函數的使用方法及實例相信很多小伙伴還不知道,現在讓我們一起來看看吧!1...
您好,現在軟糖來為大家解答以上的問題。rand函數的使用方法,rand函數的使用方法及實例相信很多小伙伴還不知道,現在讓我們一起來看看吧!
1、srand((unsigned)time(NULL))則使用系統定時/計數器的值作為隨機種子。
2、每個種子對應一組根據算法預先生成的隨機數,所以,在相同的平臺環境下,不同時間產生的隨機數會是不同的,相應的,若將srand(unsigned)time(NULL)改為srand(TP)(TP為任一常量),則無論何時運行、運行多少次得到的“隨機數”都會是一組固定的序列,因此srand生成的隨機數是偽隨機數。
3、 庫函數中系統提供了兩個函數用于產生隨機數:srand()和rand()。
4、 原型為: 函數一:int rand(void); 返回一個[0,RAND_MAX]間的隨機整數。
5、 函數二:void srand(unsigned seed); 參數seed是rand()的種子,用來初始化rand()的起始值。
6、 但是,要注意的是所謂的“偽隨機數”指的并不是假的隨機數。
7、其實絕對的隨機數只是一種理想狀態的隨機數,計算機只能生成相對的隨機數即偽隨機數。
8、計算機生 成的偽隨機數既是隨機的又是有規律的 —— 一部份遵守一定的規律,一部份則不遵守任何規律。
9、比如“世上沒有兩片形狀完全相同的樹葉”,這體現到了事物的特性 —— 差異性;但是每種樹的葉子都有近似的形狀,這正是事物的共性 —— 規律性。
10、從這個角度講,我們就可以接受這樣的事實了:計算機只能產生偽隨機數而不是絕對的隨機數。
本文就為大家分享到這里,希望小伙伴們會喜歡。