ios 產生隨機數

2021-06-18 08:50:19 字數 784 閱讀 8008

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()實際並不是乙個真正的偽隨機數發生器,在使用之前需要先初始化隨機種子,否則每次生成的隨機數一樣。

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

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

常用方法:arc4random

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

intx = arc4random() % 100;

2、  獲取乙個隨機數範圍在:[500,1000),包括500,不包括1000

inty = (arc4random() % 501) + 500;

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

-(int)getrandomnumber:(int)from to:(int)to

產生隨機數

先說明一下rand,這個函式用來產生偽隨機數。比如,產生1000的兩個隨機數,產生的兩個一般上是不同的,但如果要產生80個100以內的隨機數,僅用rand函式就不夠。因為產生80個100以內的隨機數,至少有兩個數相等的概率太大了 srand函式,並不能使產生的隨機數完全不同。你可以執行以下這串 in...

隨機數產生

c c 中取隨機數 在計算機中並沒有乙個真正的隨機數發生器,但是可以做到使產生的數字重複率很低,這樣看起來好象是真正的隨機數,實現這一功能的程式叫偽隨機數發生器。有關如何產生隨機數的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。不管用什麼方法實現隨機數發生器,都必須給它提供乙個名為 種子 的...

產生隨機數

一 normrnd r normrnd mu,sigma r normrnd mu,sigma,m,n,r normrnd mu,sigma,m,n,mu sigma可以是向量或矩陣 二者同為矩陣時size要相同 但必須和r的size相同 行 列 r的size可以不指定,也可以用m,n指定 n1 n...