% 运算符在 swift ios 中给出奇怪的结果
% operator giving strange result in swift ios
我熟悉数学以及 % 运算符(取模)为我们提供的某些值。但是,我正在听 Swift 代码讲座,讲师想要 return 一个介于 0 和视图高度的一半之间的值。他建立方程为:
var offSet = arc4random() % UInt32(self.frame.size.height / 2)
我一定是漏了什么。 arc 不会给出一个介于 0 和 1 之间的数字,然后在高度(大约 700 像素)上执行 % 总是会给出 0。但是每次代码为 运行 时,它都会偏移一个介于 0 和一半之间的随机数屏幕的高度。如果我将 % 更改为 * 程序崩溃。
想法?
Read the arc4random() man page
"arc4random() function returns pseudo-random numbers in the range of 0 to (2**32)-1"
因此您的随机数可能会很大,然后取模会将其带入 0 - (height/2 - 1)
的范围内
我熟悉数学以及 % 运算符(取模)为我们提供的某些值。但是,我正在听 Swift 代码讲座,讲师想要 return 一个介于 0 和视图高度的一半之间的值。他建立方程为:
var offSet = arc4random() % UInt32(self.frame.size.height / 2)
我一定是漏了什么。 arc 不会给出一个介于 0 和 1 之间的数字,然后在高度(大约 700 像素)上执行 % 总是会给出 0。但是每次代码为 运行 时,它都会偏移一个介于 0 和一半之间的随机数屏幕的高度。如果我将 % 更改为 * 程序崩溃。
想法?
Read the arc4random() man page
"arc4random() function returns pseudo-random numbers in the range of 0 to (2**32)-1"
因此您的随机数可能会很大,然后取模会将其带入 0 - (height/2 - 1)