swift - Swift 4 中 Int64 的 srand48?

标签 swift srand

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

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

提前致谢!

最佳答案

您可以截断 Int64Int:

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

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

关于swift - Swift 4 中 Int64 的 srand48?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50351319/

相关文章:

c - 按降序对数组中的奇数进行排序

c++ - 使用 srand 设置随机种子是现代 C++ 吗?

c - 程序未按预期返回结果。可能滥用 "bool"?

c - 带 rand() 的多维数组

swift - 如何在Xcode环境中为Swift添加身份验证

Java 数据类型到 Swift,反之亦然

ios - Firebase 中的嵌套信息

regex - 我可以阻止我的捕获组被覆盖吗?

ios - Swift CoreData 在 UITableViews 之间传递选定的行值

c - 不要在 C++ 2 中生成相同的随机数