iOS 有如下四种随机数方法,下面以产生 [0,100) 的随机数为例:

1. srand((unsigned)time(0));  //不加这句每次产生的随机数不变

int i = rand() % 100;

2. srandom(time(0));

int i = random() % 100;

3. int i = arc4random() % 100;

4. int i = arc4random_uniform(100)

注:rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。

arc4random()和arc4random_uniform(u_int32_t)是一个真正的伪随机算法,不需要生成随机种子,因为第一次调用的时候就会自动生成。而且范围是rand()的两倍。

在iPhone中,RAND_MAX是0x7fffffff (2147483647),而arc4random()或arc4random_uniform(u_int32_t)返回的最大值则是 0x100000000 (4294967296)。

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

iOS 中生成随机数的4种方法(rand、random、arc4random、arc4random_uniform)相关推荐

  1. ios 中生成随机数

    ios 中生成随机数 ios 有如下三种随机数方法: 1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变         int i = rand() ...

  2. java 生成随机数_Java 生成随机数的 N 种方法

    原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...

  3. python生成随机数方法_详解用python生成随机数的几种方法

    今天学习了用python生成仿真数据的一些基本方法和技巧,写成博客和大家分享一下. 本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的 ...

  4. C#生成随机数的三种方法

    随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...

  5. IOS中Json解析的四种方法

    2019独角兽企业重金招聘Python工程师标准>>> 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此& ...

  6. 【转】IOS中Json解析的四种方法

    原文网址:http://blog.csdn.net/enuola/article/details/7903632 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有 ...

  7. Java 生成随机数的 N 种方法

    (给ImportNew加星标,提高Java技能) 编译:ImportNew/覃佑桦 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨 ...

  8. java 生成随机数_不会生成随机数?我们来看看java生成随机数的10种方法

    1.引言 本文将探讨用 Java 生成随机数的不同方法. 2.Java API Java API 提供了几种随机数生成方法.让我们一起来了解一下. 2.1.java.lang.Math Math 类中 ...

  9. ios json包含html,IOS中Json解析的四种方法

    发现自己有很多文档,所以现在整理一下,以防忘了... 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此"http: ...

最新文章

  1. 北航云计算公开课 01 Introduction to Cloud Computing
  2. Flink的Window
  3. QQ通讯录VS360通讯录对新建信息界面中草稿的处理
  4. 5G商业化进程提速 运营商推进网络智能化转型
  5. 后续:安装ORK功能包踩坑之路和解决方案
  6. python源代码被解释器转换后的格式_python源代码被解释器转换后的格式是什么?...
  7. linux内核中的以太网phy芯片的驱动介绍:以lan8720和ip101作为对比
  8. cookie的工作原理
  9. python计算圆面积_Python习题册004:计算圆面积
  10. 解决Error: Call to undefined function eregi() 报错方法
  11. stacey矩阵 敏捷_通过矩阵镜头实现敏捷
  12. 证件照换底色·网页图片设计·第一次项目技术总结
  13. Cocos2d-x 2.0 百例精讲:如何让一个精灵跟随触点移动
  14. 求最大公约数的4种算法(C++)
  15. 2022-04-28 Unity核心1——图片导入与图片设置
  16. Kafka入门篇学习笔记整理
  17. HTML中来访时间,html记录用户的访问次数代码
  18. Unity3D 片元NDC空间z值(ZBuffer)转View空间z值,公式推导
  19. git push错误failed to push some refs to的解决
  20. 长文图解:金字塔原理如何指导技术系统优化

热门文章

  1. CSS 背景图标(雪碧图、精灵图、iconfont)
  2. Prometheus介绍
  3. socketio使用
  4. 华为桌面云FusionAccess解决方案
  5. 213:Python学习之数据分析篇——Jupyter 引入yfinance做K线股票分析
  6. 【NIO与Netty】网络编程:netty中粘包、半包现象展示,分析及解决
  7. 消费者怎么看待 then, catch, finally
  8. hopper_零到150万编码人员:构建蚱hopper时吸取的九个教训
  9. 记录在阿L做外包的日子,给正在(金三银四)的你一点经验
  10. MySQL 表的增删改查(进阶篇②)· 联合查询 内连接 外连接 · 自连接 · 子查询 exists · 合并查询 union