您好,登錄后才能下訂單哦!
1、iphone有幾個內嵌的隨機數發生器,如rand()、random()、arc4random()
其精確程度為
arc4random() > random() > rand()
可以由其原型進行推斷
int rand();
long random();
u_int32_t arc4random();
2、rand()和random()在使用之前需要先初始化隨機種子,即調用
srandom(time(NULL));
arc4random()不需要生成隨機種子,因為第一次調用的時候就會自動生成。
3、在iPhone中,RAND_MAX是0x7fffffff (2147483647),而arc4random()返回的最大值則是 0x100000000 (4294967296),從而有更好的精度。
4、幾個調用arc4random()的示例:
1)、通過arc4random() 獲取0到x之間的整數的代碼如下:
int value = arc4random() % (x+1);
2)、獲取1到x之間的整數的代碼如下:
int value = (arc4random() % x) + 1;
其中,根據預算優先級括號實際是不需要的,但還是應該對括號格外小心。
3)、如果想生成一個浮點數,可以在項目中定義如下宏:
#define ARC4RANDOM_MAX 0x100000000
然后就可以使用arc4random() 來獲取0到100之間浮點數了(精度是rand()的兩倍),代碼如下:
double val = floorf(((double)arc4random() / ARC4RANDOM_MAX) * 100.0f);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。