Я зову arc4random в функции в моих IOS приложении для генерации случайных значений от -5 до 6.Почему arc4random возвращает диковинные ценности?
double num;
for (int i = 0; i < 3; i++) {
num = (arc4random() % 11) - 5;
NSLog(@"%0.0f", num);
}
я получаю следующий вывод из консоли.
2012-05-01 20:25:41.120 Project32[8331:fb03] 0
2012-05-01 20:25:41.121 Project32[8331:fb03] 1
2012-05-01 20:25:41.122 Project32[8331:fb03] 4294967295
0 и 1 являются значениями в пределах диапазона, но wowww, откуда 4294967295?
Изменение arc4random()
до rand()
устраняет проблему, но rand()
, конечно, требует посева.
Не могли бы вы показать декларацию 'num'? Вероятно, но, вероятно, это «неподписанный int»? :) – nacho4d
Я предполагаю, что num является целым числом без знака? – lnafziger
Извините, я просто включил объявление num. –