如何找到UInt64之间的随机数?(迅速)



我很难找到一种方法来返回1和9,000,000,000,000,000之间的随机数

我已经使用UInt32创建了一个randomNumberBetween函数,但我只是无法使用UInt64做同样的事情。

我理解arc4random_uniform只使用UInt32。但是对于UInt64还有别的选择吗?

现在有人知道了吗?

谢谢你的帮助!

let min:UInt32 = 1
let max:UInt32 = UINT32_MAX
func randomNumberBetween(min:UInt32, max:UInt32) -> UInt32 {
    let randomNumber = arc4random_uniform(max - min) + min
    return randomNumber
}
randomNumberBetween(min, max)

arc4random在Swift中工作得很好,但基本函数仅限于32位整数类型(Int在iPhone 5S和现代mac上是64位)。下面是用于任意类型随机数的泛型函数:

func arc4random <T: IntegerLiteralConvertible> (type: T.Type) -> T {
    var r: T = 0
    arc4random_buf(&r, UInt(sizeof(T)))
    return r
}

阅读这个文档,我希望它对你有帮助http://www.dahuatu.com/G9wRqYlmME.html

相关内容

  • 没有找到相关文章

最新更新