日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

object-c 随机数总结

發布時間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 object-c 随机数总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解決幾個典型的問題:

如何生成一個 Objective-C 的隨機數?

使用arc4random()

具體而言,產生一個0-n-1之間的隨機數,使用arc4random_uniform(),從而避免模偏差

NSUInteger r = arc4random_uniform(N);

0?到?1?之間的隨機浮點數(double)

如果你要生成一個隨機?double?或?float,另一個很好的選擇是功能較模糊的?rand48?家族,包括?drand48(3)。

? ?srand48(time(0));

? ? for (int i = 0; i < 10; i++) {

? ? ? ? double r = drand48();

? ? ? ? NSLog(@"%f[%d]", r, i);

? ? }

?

不像?arc4random?函數,?rand48?函數在產生隨機數之前需要種子的初始值。這個種子函數?srand48(time(0))?應該只運行一次。

如何從一個?NSArray?選擇一個隨機元素?

NSArray *arr = @[@1, @2, @3, @5, @0];if ([arr count] > 0) {id obj = arr[arc4random_uniform((u_int32_t)[arr count])];NSLog( @"%@", obj);}

如何隨機排序一個?NSArray?

NSArray *arr = @[@1, @2, @3, @5, @0];NSMutableArray *a = [NSMutableArray arrayWithArray:arr];if ([arr count] > 1) {for (NSUInteger i = [arr count] - 1; i > 0; --i) {[a exchangeObjectAtIndex:i withObjectAtIndex:arc4random_uniform((u_int32_t)(i + 1))];}}NSLog(@"%@", a);

生成一個隨機的小寫?NSString

如果你是對一個已知的,連續范圍的 Unicode 字符做處理,例如小寫字母 (U+0061?—?U+007A),你可以從?char?做一個簡單的換算:

NSString *letter = [NSString stringWithFormat:@"%c", arc4random_uniform(26) + 'a'];

?

轉載于:https://www.cnblogs.com/lxgo/p/5279046.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的object-c 随机数总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。