在这个例子中,0xFFFFFFFF是做什么的?

Hid*_*n14 6 swift swift2

我知道arc4random返回一个无符号整数,最大为(2 ^ 32)-1.在这种情况下,它总是给出0到1之间的数字.

var x:UInt32 = (arc4random() / 0xFFFFFFFF)
Run Code Online (Sandbox Code Playgroud)

如何除以0xFFFFFFFF导致数字介于0 - 1之间?

Bol*_*ock 5

正如你所说,

\n\n
\n

arc4random 返回一个最大 (2^32)-1 的无符号整数

\n
\n\n

0xFFFFFFFF 等于 (2^32)-1,这是 的最大可能值arc4random()。所以算术表达式(arc4random() / 0xFFFFFFFF)给出的比率始终介于 0 和 1 \xe2\x80\x94 之间,并且由于这是整数除法,因此结果只能介于 0 和 1 之间。

\n

  • 那是整数除法,结果只能是0或(很少)1。 (2认同)