2011-08-30 2 views
-2

누군가이 코드가 실행될 때 past2가 부정적이지 않은 이유를 명확히 해 주실 수 있습니까? 과거는 그렇다.동일한 기능에 대한 다른 결과

감사합니다.

NSTimeInterval p1 = (arc4random()%600000); 
NSTimeInterval past = -p1; 
NSTimeInterval past2 = -(arc4random()%600000); 
+7

임의의 정의를 검색 ... 당신은'arc4random를 사용 않는 이유 –

+0

당신이 (우리를 명확히 할 수)'? – EmptyStack

+0

당신은 진짜입니까? – futureelite7

답변

2

arc4random()는 부호없는 INT (u_int32_t)를 반환합니다, 그래서 당신은 음수 대신 매우 큰 양수를 얻고있는 이유입니다뿐만 아니라 부호에 결과를 강요한다 음수 만들려고 노력 . 당신은 하나의 호출에 부정적인 임의 결과를 얻고 싶은 경우에

, 시도 :

NSTimeInterval past2 = - (int) (arc4random()%600000); 

관련 문제