원문 출처 : http://52c.me/archives/47
흔히 임의의 숫자를 생성할 때, rand() 함수를 많이 쓴다.
rand()는 0 에서 RAND_MAX 로 정의된 0x7fffffff (2,147,483,647) 까지의 숫자를,
arc4random()은 0에서 0×100000000 (4,294,967,296) 까지의 숫자를 추출하므로,
rand()보다는 arc4random()으로 더욱 신뢰할 만한 랜덤값을 얻을 수 있다.
또한 rand()는 반드시 사전에 srand(time(NULL)) 형태로 시딩을 해 주어야 하지만,
arc4random()은 자체 시딩로직이 있어 시딩이 필요 없다.
결론적으로 rand() 보다는 arc4random() 이 쓰기도 편하고 믿음직한 함수라 생각함.
arc4random()의 단점이라면, rand()보다는 속도가 많이 떨어지므로,
많은 객체를 가진 Array를 섞을 때라던가,
loop 안에서 여러번 수행해야 할 때는 문제가 될 수 있다.
반응형
'Programming > Objective-C' 카테고리의 다른 글
texturepacker를 이용해서 sprite만들기 (0) | 2012.07.06 |
---|---|
cocos2d - CCMenu안에 접근해서 이미지 바꾸기 (0) | 2012.06.11 |
Cocos2D에서 uniqueldentifier is deprecated 해결하기 (0) | 2012.06.06 |