我知道 arc4random 返回一个最大 (2^32)-1 的无符号整数。在这种情况下,它总是给出 0 到 1 之间的数字。
var x:UInt32 = (arc4random() / 0xFFFFFFFF)
除以 0xFFFFFFFF 如何导致数字在 0 - 1 之间?
正如你所说,
arc4random 返回一个最大 (2^32)-1 的无符号整数
0xFFFFFFFF 等于 (2^32)-1,这是 的最大可能值arc4random()
。所以算术表达式(arc4random() / 0xFFFFFFFF)
给出的比率始终介于 0 和 1 之间 - 由于这是整数除法,因此结果只能介于 0 和 1 之间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)