淺談iOS中三種生成隨機數(shù)方法
ios 有如下三種隨機數(shù)方法:
//第一種 srand((unsigned)time(0)); //不加這句每次產(chǎn)生的隨機數(shù)不變 int i = rand() % 5; //第二種 srandom(time(0)); int i = random() % 5; //第三種 int i = arc4random() % 5 ;
注:
?、?rand()和random()實際并不是一個真正的偽隨機數(shù)發(fā)生器,在使用之前需要先初始化隨機種子,否則每次生成的隨機數(shù)一樣。
② arc4random() 是一個真正的偽隨機算法,不需要生成隨機種子,因為第一次調(diào)用的時候就會自動生成。而且范圍是rand()的兩倍。在iPhone中,RAND_MAX是0x7fffffff (2147483647),而arc4random()返回的最大值則是 0x100000000 (4294967296)。
精確度比較:arc4random() > random() > rand()
附:arc4random() 常用方法集合
//獲取一個隨機整數(shù)范圍在:[0,100)包括0,不包括100
int x = arc4random() % 100;
//獲取一個隨機數(shù)范圍在:[500,1000),包括500,不包括1000
int y = (arc4random() % 501) + 500;
//獲取一個隨機整數(shù),范圍在[from,to),包括from,不包括to
-(int)getRandomNumber:(int)from to:(int)to
{
return (int)(from + (arc4random() % (to – from + 1)));
}
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
詳解iOS之關(guān)于double/float數(shù)據(jù)計算精度問題
本篇文章主要介紹了iOS之關(guān)于double/float數(shù)據(jù)計算精度問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
iOS開發(fā)教程之識別圖片中二維碼功能的實現(xiàn)
長按識別二維碼這個功能相信對大家來說都不陌生,最近工作中就遇到了這個需求,所以下面這篇文章主要給大家介紹了關(guān)于利用iOS識別圖片中二維碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07
iOS中的UITableView的重用機制與加載優(yōu)化詳解
本篇文章主要介紹了iOS中的UITableView的重用機制與加載優(yōu)化詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
iOS實現(xiàn)APP程序內(nèi)部打開APP的AppStore頁面
這篇文章主要給大家介紹了關(guān)于iOS實現(xiàn)APP程序內(nèi)部打開APP的AppStore頁面的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來看看吧。2017-06-06

