为什么drand48()在我的程序中的每次运行中显示相同的值?

时间:2016-10-07 18:27:14

标签: swift random swift2

我尝试使用 drand48() 创建一个随机获取值的变量,但在每次运行中,我的变量都采用相同的值。 任何人都可以帮助我,(我想在每次运行中我的变量取不同的值)???

let number = drand48 ()

1 个答案:

答案 0 :(得分:7)

drand48创建一个伪随机数序列。也就是说,如果每次始终产生相同的数字,它就不会设置为不同的起始点。

预先修复此调用srand48以设置drand48的新起点

例如

let time = UInt32(NSDate().timeIntervalSinceReferenceDate)
srand48(Int(time))
let number = drand48 ()

Here是drand48和srand48

的文档

编辑:种子的不同方式以避免错误,我不是通过计算机(在我的手机上)所以可能必须在以后修复它,如果它不起作用