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()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。

arc4random() 是一个真正的伪随机算法,不需要生成随机种子,因为第一次调用的时候就会自动生成。而且范围是rand()的两倍。在iPhone中,RAND_MAX是0x7fffffff (2147483647),而arc4random()返回的最大值则是 0x100000000 (4294967296)。

精确度比较:arc4random()  >  random()  >  rand()。

常用方法:arc4random

1、获取一个随机整数范围在:[0,100)包括0,不包括100

int x = arc4random() % 100;

2、  获取一个随机数范围在:[500,1000),包括500,不包括1000

int y = (arc4random() % 501) + 500;

3、获取一个随机整数,范围在[from,to),包括from,不包括to

-(int)getRandomNumber:(int)from to:(int)to

{

return (int)(from + (arc4random() % (to – from + 1)));

}

时间: 2024-11-07 10:09:12

ios 中生成随机数的相关文章

[小技巧] 在bash中生成随机数

译至:http://d.hatena.ne.jp/anmino/20091017/1255705586 bash的SHELL参数RANDOM可以生成0-32767的随机数.想设定从1到N的随机数范围的话,可以使用:$ ( ( (RANDOM % n) + 1 )) #!/bin/sh #random_bash.sh for n in 1 2 3 4 5 6 7 8 9 10; do random=$(( (RANDOM % 10) + 1 )) echo -n "$random " d

Oracle中生成随机数的函数(转载)

在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个: DBMS_RANDOM.VALUE函数 该函数用来产生一个随机数,有两种用法: 1. 产生一个介于0和1之间(不包含0和1)的38位精度的随机数,语法为: DBMS_RANDOM.VALUE RETURN NUMBER; 这种用法不包含参数. 2. 产生一个介于指定范围之内的38位精度的随机数,语法为: DBMS_RANDOM.VALUE(low IN NUMBER,high IN N

Java中生成随机数Random、ThreadLocalRandom、SecureRandom、Ma

我们来说说Java常见的生成随机数的几种方式:Random,ThreadLocalRandom,SecureRandom;其实产生随机数有很多种方式但我们常见的就这几种,如果需要详细了解这个三个类,可以查看JAVA API. Random random = new Random(); int a = random.nextInt(5);//随机生成0~4中间的数字 其实Random是有构造函数的,他的参数可以传一个long类型的值,当使用空的构造的时候,使用的实际上是System.nanoTim

【swift】ios中生成二维码

ios开发中可以自己代码生成二维码,需要使用到一个框架 CoreImage CoreImage框架可以做滤镜,Gif动图,二维码等 先看效果图 下面直接贴上代码(OC也是下面一样的流程) 1 func createQRCode(){ 2 3 //建立一个滤镜 4 let qrFilter = CIFilter(name: "CIQRCodeGenerator") 5 //重设滤镜的初始值 6 qrFilter.setDefaults() 7 //通过KVC设置滤镜的内容(需要将字符串转

iOS中生成并导入基于Swift编程语言的Framework

从iOS 8.0开始就引入了framework打包方式以及Swift编程语言.我们可以主要利用Swift编程语言将自己的代码打包成framework.不过当前Xcode 7.x在自动导入framework包的时候不太智能,因此需要做一些善后处理. 首先,在生成framework时,要暴露给外部的结构体.类.枚举.函数等都需要用public关键字来修饰,否则外部是访问不到这些类型以及函数的.此外,在结构体和类中,不能缺省初始化方法,必须用public暴露给外部,否则也一样无法被访问到. 其次,当我

IOS中生成证书、真机调试、上线发布程序的步骤

前言:学习ios开发快一年了生成证书,真机调试,程序上线发布的总结,现在我来写下相关的步骤和心得: 真机调试现在没有苹果开发账号的情况下也是可以实现,现在我们叫的是有苹果开发者账号的情况来说明的这个问题: 开发账号的区别: 1.99美元的个人账号:只要去苹果官网付款就行了,但是你的信用卡要的支付外汇的才行的,这里推荐一个淘宝链接购买开发者账号:(http://tmqd.me/h.ZZTHi6?cv=AAFjfvYB&sm=4ce1c5). 2.99美元的企业账号:这个注册有点麻烦,需要邓白氏编码

ios 中生成二维码和相册中识别二维码

iOS 使用CIDetector扫描相册二维码.原生扫描 原生扫描 iOS7之后,AVFoundation让我们终于可以使用原生扫描进行扫码了(二维码与条码皆可)AVFoundation可以让我们从设备中获取到输入流与输出流,从而获取二维码中包含的信息. 实现原生扫描非常简单.1.先导入AVFoundation框架.<AVFoundation/AVFoundation.h>2.接着设置代理,实现代理回调方法AVCaptureMetadataOutputObjectsDelegate3.然后创建

iOS开发-生成随机数

有时候我们需要在程序中生成随机数,但是在Objective-c中并没有提供相应的函数,好在C中提供了rand().srand().random().arc4random()几个函数.那么怎么使用呢?下面将简单介绍: 1.  获取一个随机整数范围在:[0,100)包括0,不包括100 int x = arc4random() % 100; 2.  获取一个随机数范围在:[500,1000),包括500,包括1000 int y = (arc4random() % 501) + 500; 3.  获

C#中生成的随机数为什么不随机?

from:https://www.xcode.me/more/net-csharp-generate-random 随机数生成方法可以说是任何编程语言必备的功能,它的重要性不言而言,在C#中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成5个随机数: for (int i = 0; i < 5; i++) { Random random = new Random(); Console.WriteLine(random