淺談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ā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧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-12iOS中UILabel實現(xiàn)長按復(fù)制功能實例代碼
在iOS開發(fā)過程中,有時候會用到UILabel展示的內(nèi)容,那么就設(shè)計到點擊UILabel復(fù)制它上面展示的內(nèi)容的功能,也就是Label長按復(fù)制功能,下面這篇文章主要給大家介紹了關(guān)于在iOS中UILabel實現(xiàn)長按復(fù)制功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10