Objective-C語言中生成隨機(jī)數(shù)的函數(shù)
arc4random()函數(shù)
arc4random()函數(shù)用來生成隨機(jī)數(shù)且不需要種子,但是這個函數(shù)生成的隨機(jī)數(shù)范圍比較大,需要用取模的算法對隨機(jī)值進(jìn)行限制,有點麻煩
// 獲取 0 ~ 99 隨機(jī)數(shù)
int x = arc4random() % 100;
// 獲取 500 ~ 1000 隨機(jī)數(shù)
int y = (arc4random() % 501) + 500);
arc4random_uniform()函數(shù)
可以用來產(chǎn)生0~(x-1)范圍內(nèi)的隨機(jī)數(shù),不需要再進(jìn)行取模運(yùn)算。如果要生成1~x的隨機(jī)數(shù),可以這么寫:arc4random_uniform(x)+1。
// 生成0-x之間的隨機(jī)正整數(shù)
int value =arc4random_uniform(x + 1);