2
我目前有一種方法試圖獲得我提供的兩個數字之間的隨機數字,但它無法正常工作。兩個數字之間的隨機漂浮?
例如,如果我在4.0作爲下浮球和4.5作爲較高漂浮飼料,我得到的結果是像0.8或1.2,有時是這兩個數字之間。所以這讓我相信這種方法並不好。下面是方法:
- (float)randomFloatBetween:(float)num1 andLargerFloat:(float)num2 {
return ((float)arc4random()/ARC4RANDOM_MAX) * num2-num1 + num1;
}
這是ARC4RANDOM_MAX
#define ARC4RANDOM_MAX 0x100000000
總之,是什麼原因造成這一點,我怎麼能解決這個問題?
謝謝!
你可能想的ABS +最小值和最大值調用有太多... – 2012-07-16 21:40:10
你能解釋更多通過你的意思? – 2012-07-17 02:44:16