我正在使用Int值作为种子创建一个随机数代码生成器。我使用了srand48和drand48,它运行正常,直到我发现我的种子值对于32位设备来说太大了。
为了迎合这一点,我尝试用Int64替换Int。问题是,srand48不将Int64作为参数。您对缓解此问题有什么建议吗?
提前致谢!
答案 0 :(得分:1)
你可以截断 Int64
到Int
:
let i64 = Int64(...)
srand48(Int(truncatingIfNeeded: i64))
在32位设备上,这会将64位数字截断为最低32位。