ios中的隨機數使用

2021-09-06 04:58:29 字數 626 閱讀 3015

有如下三種隨機數方法:

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()還不需要生成隨機種子,因為第一次呼叫的時候就會自動生成。

注:    //nslog(@"%f",(cgfloat)arc4random()/((0>>1)-1));列印出來是負數,因為最高位符號位是1。

//nslog(@"%f",((cgfloat)arc4random()/((1<<31)-1))/2);來代替    輸出(0~1)範圍的浮點數

參考:

iOS 隨機數的使用

1 iphone有幾個內嵌的隨機數發生器,如rand random arc4random 其精確程度為 arc4random random rand 可以由其原型進行推斷 int rand long random u int32 t arc4random 2 rand 和random 在使用之前需要...

iOS開發中的隨機數

1.生成0 x之間的隨機正整數 int value arc4random uniform x 1 2.生成隨機正整數 int value arc4random 3.通過arc4random 獲取0到x 1之間的整數的 如下 int value arc4random x 4.通過arc4random ...

ios 產生隨機數

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 實際並不是乙個真正的偽隨機數發...