Swift 4 中 Int64 的 srand48?

srand48 for Int64 in Swift 4?

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

为了解决这个问题,我尝试用 Int64 替换 Int。问题是,srand48 不将 Int64 作为参数。您对如何缓解这种情况有什么建议吗?

提前致谢!

您可以截断 Int64Int:

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

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