我知道arc4random返回一个无符号整数,最大为(2 ^ 32)-1.在这种情况下,它总是给出0到1之间的数字.
var x:UInt32 = (arc4random() / 0xFFFFFFFF)
Run Code Online (Sandbox Code Playgroud)
如何除以0xFFFFFFFF导致数字介于0 - 1之间?
正如你所说,
\n\n\n\n\narc4random 返回一个最大 (2^32)-1 的无符号整数
\n
0xFFFFFFFF 等于 (2^32)-1,这是 的最大可能值arc4random()。所以算术表达式(arc4random() / 0xFFFFFFFF)给出的比率始终介于 0 和 1 \xe2\x80\x94 之间,并且由于这是整数除法,因此结果只能介于 0 和 1 之间。
| 归档时间: |
|
| 查看次数: |
729 次 |
| 最近记录: |