在Swift 4中用于Int64的srand48?

时间:2018-05-15 13:19:49

标签: swift srand

我正在使用Int值作为种子创建一个随机数代码生成器。我使用了srand48和drand48,它运行正常,直到我发现我的种子值对于32位设备来说太大了。

为了迎合这一点,我尝试用Int64替换Int。问题是,srand48不将Int64作为参数。您对缓解此问题有什么建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

你可以截断 Int64Int

let i64 = Int64(...)
srand48(Int(truncatingIfNeeded: i64))

在32位设备上,这会将64位数字截断为最低32位。