当前位置: 首页 > 面试题库 >

使用Swift生成随机数

寇甫
2023-03-14
问题内容

我需要生成一个随机数。

看来该arc4random功能已不复存在arc4random_uniform

我的选择是arc4random_stir()arc4random_buf(UnsafeMutablePointer<Void>, Int)
arc4random_addrandom(UnsafeMutablePointer<UInt8>, Int32)

我在函数上找不到任何文档,头文件中也没有注释。


问题答案:

===== Swift 4.2 / Xcode 10 =====

let randomIntFrom0To10 = Int.random(in: 1..<10)
let randomFloat = Float.random(in: 0..<1)

// if you want to get a random element in an array
let greetings = ["hey", "hi", "hello", "hola"]
greetings.randomElement()

斯威夫特在引擎盖下arc4random_buf用来完成工作。

===== Swift 4.1 / Xcode 9 =====

arc4random()返回 0*4294967295之间 的随机数 *

drand48()返回 0.0*1.0 范围内的随机数 *

arc4random_uniform(N)返回 0*N-1 范围内的随机数 *

例子:

arc4random() // => UInt32 = 2739058784
arc4random() // => UInt32 = 2672503239
arc4random() // => UInt32 = 3990537167
arc4random() // => UInt32 = 2516511476
arc4random() // => UInt32 = 3959558840

drand48() // => Double = 0.88642843322303122
drand48() // => Double = 0.015582849408328769
drand48() // => Double = 0.58409022031727176
drand48() // => Double = 0.15936862653180484
drand48() // => Double = 0.38371587480719427

arc4random_uniform(3) // => UInt32 = 0
arc4random_uniform(3) // => UInt32 = 1
arc4random_uniform(3) // => UInt32 = 0
arc4random_uniform(3) // => UInt32 = 1
arc4random_uniform(3) // => UInt32 = 2

*建议在诸如此类的结构上使用 *arc4random_uniform(),arc4random() % upper_bound因为当上限不是2的幂时,它会避免“模偏差”。



 类似资料:
  • random 生成随机数包 文档:https://www.npmjs.com/package/random 安装:npm install --save random 封装代码: app / extend / context.js // 导入 jwt const jwt = require('jsonwebtoken') // 导入随机数包 const random = require('rando

  • 问题 你需要生成在一定范围内的随机数。 解决方案 使用 JavaScript 的 Math.random() 来获得浮点数,满足 0<=X<1.0 。使用乘法和 Math.floor 得到在一定范围内的数字。 probability = Math.random() 0.0 <= probability < 1.0 # => true # 注意百分位数不会达到 100。从 0 到 100 的范围实

  • C++11引入了比C的优越得多的随机数库。在C中,您经常会看到以下代码: 因为以秒为单位返回当前时间,所以对程序的快速连续调用将产生相同的数字序列。解决这一问题的快速方法是在纳秒内提供一个种子: 在C++11中,我所知道的产生好随机数的最短程序是: 是不可移植的,不鼓励使用,因为它可能会选择较差的引擎,如。事实上,不推荐使用,因此首选。通常,我看到人们说用chrono来提供一个种子来代替: 这不仅

  • 问题内容: 我可以为游戏中的物品选择一个随机数,但是可以选择两个数字之间的随机数吗? 所以代替 我想要这样的东西: 或类似的东西?现在,如果我得到了放下武器的信息,那么它可能就是清单中的所有内容。这样我就可以做到,这样只有前几个会掉落特定怪物,或者在更高等级时他们会掉落更好的武器,而不是低等级。 问题答案: Xcode 11•Swift 5.1或更高版本 注意: 对于较早的Swift版本,请检查编

  • 当您导入java.util.random之后,您可以通过两种方式生成随机整数和随机double。 您可以创建Random类的一个实例