淺談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)文章
Objective-C中關(guān)于實例所占內(nèi)存的大小詳解
這篇文章主要給大家介紹了關(guān)于Objective-C中實例所占內(nèi)存的大小的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-05-05iOS應(yīng)用運用設(shè)計模式中的Strategy策略模式的開發(fā)實例
這篇文章主要介紹了iOS應(yīng)用開發(fā)中對設(shè)計模式中的Strategy策略模式的運用,例子采用傳統(tǒng)的Objective-C語言代碼演示,需要的朋友可以參考下2016-03-03IOS 基礎(chǔ)之nil,NULL,NSNULL區(qū)別詳解
這篇文章主要介紹了IOS 基礎(chǔ)之nil,NULL,NSNULL區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04Flutter CustomPaint繪制widget使用示例
這篇文章主要為大家介紹了Flutter CustomPaint繪制widget使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12