ios隨機(jī)數(shù)random(), arc4random(),arc4random_uniform()

1. random()

random()不是一個(gè)真正的偽隨機(jī)數(shù)發(fā)生器,因此在使用前必須初始化隨機(jī)種子,否則每次生成的隨機(jī)數(shù)都是相同的。它會(huì)產(chǎn)生一個(gè)[0,RAND_MAX)之間的一個(gè)整數(shù)。

產(chǎn)生一個(gè)[0,100)的數(shù)字

srandom((unsigned)time(NULL));
int num = 100 * random()/RAND_MAX;

目前已經(jīng)不推薦使用random()函數(shù)了

2. arc4random()

arc4random()是一個(gè)真正的偽隨機(jī)算法,不需要隨機(jī)數(shù)種子。
產(chǎn)生一個(gè)[0,100)的數(shù)字

int num = arc4random()%100;

3. arc4random_uniform()

使用arc4random()產(chǎn)生指定的隨機(jī)數(shù)還需要做取模運(yùn)算,而arc4random_uniform()則不需要,看下面函數(shù)定義,傳入一個(gè)上邊界數(shù)字

uint32_t arc4random_uniform(uint32_t __upper_bound)

可產(chǎn)生一個(gè)[0, __upper_bound-1)的數(shù)字

int num = arc4random_uniform(100);
最后編輯于
?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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