object-c 随机数总结
2016-03-15 13:04
495 查看
解决几个典型的问题:
具体而言,产生一个0-n-1之间的随机数,使用arc4random_uniform(),从而避免模偏差
如果你要生成一个随机
srand48(time(0));
for (int i = 0; i < 10; i++) {
double r = drand48();
NSLog(@"%f[%d]", r, i);
}
不像
如何从一个
如何随机排序一个
生成一个随机的小写
如果你是对一个已知的,连续范围的 Unicode 字符做处理,例如小写字母 (
如何生成一个 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'];
相关文章推荐
- warning: could not load any Objective-C class information. This will significantly reduce the qualit
- 通过Object类说明方法重载、方法重写、多态之间的关系
- Objective-C Category和Extension
- iOS 取消延时执行 performSelector: withObject: afterDelay:
- Xcode TODO MARK FIXME 标记
- Object类
- Objective-c的@property 详解
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Tutorial – Creating outline effect around objects
- Object.create
- Object: 多个属性的集合
- c++中的对象引用(object reference)与对象指针的区别
- 关于android 的org.json类JsonObject解析值为null的出现的问题
- Object-c 类、对象方法
- 在object,embed上添加跳转链接(视频上添加跳转)
- ObjectInputStream解析
- iOS开发系列—Objective-C之Foundation框架
- IE浏览器利用ActiveXObject对象对文件系统进行操作
- JDK升级到8.0之后,启动报错Unable to process Jar entry [jdk/nashorn/internal/objects/NativeRegExp$Prototype.cla
- FLEX中SharedObject介绍及应用