ios生成三種隨機數方法

iosbg 11年前發布 | 2K 次閱讀 Objective-C IOS

ios開發-三種隨機數方法--個人學習之路的總結。

ios 有如下三種隨機數方法:


1.    srand((unsigned)time(0)); //不加這句每次產生的隨機數不變      

   inti = rand() % 5;  

  2.    srandom(time(0));         int i = random() % 5;

3.    int i = arc4random() % 5 ;

注:

rand()和random()實際并不是一個真正的偽隨機數發生器,在使用之前需要先初始化隨機種子,否則每次生成的隨機數一樣。

arc4random() 是一個真正的偽隨機算法,不需要生成隨機種子,因為第一次調用的時候就會自動生成。而且范圍是rand()的兩倍。在iPhone中,RAND_MAX是 0x7fffffff (2147483647),而arc4random()返回的最大值則是 0x100000000 (4294967296)。

精確度比較:arc4random()  > random()  >  rand()。

 

常用方法:arc4random

 1、獲取一個隨機整數范圍在:[0,100)包括0,不包括100

int x= arc4random() % 100;

2、  獲取一個隨機數范圍在:[500,1000],包括500,不包括1000

int y= (arc4random() % 501) + 500;

3、獲取一個隨機整數,范圍在[from,to),包括from,不包括to

-(int)getRandomNumber:(int)fromto:(int)to

{

    return (int)(from + (arc4random() % (to – from + 1)));

}

 本文由用戶 iosbg 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!