希望找到我怎麼會格式化調用arc4Random()
使用數字範圍從-10到10arc4random()範圍包括底片
抑或arc4Random()
只生成從0到X?如果是這種情況,我將需要操縱arc4Random()
的結果,以便它可能是指定範圍內的結果?
希望找到我怎麼會格式化調用arc4Random()
使用數字範圍從-10到10arc4random()範圍包括底片
抑或arc4Random()
只生成從0到X?如果是這種情況,我將需要操縱arc4Random()
的結果,以便它可能是指定範圍內的結果?
arc4random
返回一個u_int32_t
,它是一個無符號類型。你需要把它轉換成一個有符號的類型然後減去。
我假設你想要一個-10到+10的數字(你希望有時會選擇-10和+10)。
如果您靶向的iOS 4.3或更高版本,或Mac OS X 10.7或更高版本,您應該使用arc4random_uniform
功能:如果您靶向舊的OS
int myNumber = (int)arc4random_uniform(21) - 10;
,你必須使用arc4random
:
int myNumber = (int)(arc4random() % 21) - 10;
隨機數什麼arc4random和arc4random_uniform之間的差? 21號代表什麼?數字10代表什麼? – Demasterpl 2012-03-04 05:35:44
您可以通過輸入'man arc4random'來閱讀這些功能之間的區別。 21和10來自您在問題中指定的數字範圍。 – 2012-03-04 06:34:55
具體來說,21是'upperBound - lowerBound + 1',而10是'-lowerBound'。或者,您正在添加'lowerBound'而不是減去'-lowerBound'。在這個問題中,'upperBound'是+10,'lowerBound'是-10。 – 2016-02-23 02:56:47
A [有用的參考](http://mikeash.com/pyblog/friday-qa-2011-03-18-random-numbers.html),用於在可可 – FluffulousChimp 2012-03-04 11:27:12