系統生成隨機數

2021-09-02 12:58:03 字數 1334 閱讀 8290

ios 生成隨機數一般有三種方式:

1.    srand((unsigned)time(0));  

//加了這句的話每次產生的隨機數將會發生改變

int i = rand() % 5;      

2.    srandom(time(0));

int i = random() % 5;

3.    int i = arc4random() % 5 ;

注:個人認為,不提倡使用第一和第二種產生隨機數方法,rand()和random()

在使用它們兩之前需要先初始化隨機種子,不然每次生成的隨機數都將會是一樣的。

那麼第三種方法比前兩種方法有哪些好處呢:

1、arc4random() 則不需要生成隨機種子,因為第一次呼叫的時候就會自動生成。

2、從另乙個角度來看而且範圍是rand()的兩倍之多。

接下來可以用乙個簡單的比較來對比下它們的範圍

範圍比較:arc4random()  >  random()  >  rand()。

接下來我們來熟悉下arcrandom()的用法吧:

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)from to:(int)to

下面是我自己專案中所實現的arcrandom()求隨機數方法:

-(nsarray *)generating_the_digital:(id)sender

{ //隨機數從這裡邊產生

startarray=[[nsmutablearray alloc] initwithobjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];

//隨機數產生結果

resultarray=[[nsmutablearray alloc] initwithcapacity:0];

//隨機數個數

nsinteger m=4;

for (int i=0; i

隨機生成隨機數

現畫乙個command命令按鈕,進行貼上。private sub command1 click show me scale 0,0 18,8 me.auto redraw true me.draw mode 2 circle 3,4 3,vb red me.auto redraw false lin...

隨機數生成

原型 void srand unsigned seed 用法 srand和rand 配合使用產生偽隨機數序列。rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。sr...

生成隨機數

1 生成num位數驗證碼 用於簡訊驗證功能 public static random rand new random public static string getcode int num result,s k return result random r new random 建立乙個隨機數生成...