2012-11-03 4 views
0

정수가 다른 정수보다 큰지 감지하는 코드를 작성하려고합니다. 이것이 가능한가?NSInteger가 다른 NSinteger보다 큰지 어떻게 확인합니까?

여기까지 제가 한 것입니다.

if (NumCorrect >> NumWrong) { 
    btnCool.title = @"Awww"; 
} 

else { 
    btnCool.title = @"Cool!"; 
} 

모든 그 행함은 다른

에가는 편집 :

NSString *numCorrect = [NSString stringWithFormat:@"%d",NumCorrect]; 
NSString *numWrong = [NSString stringWithFormat:@"%d", NumWrong]; 
lblWrong.text = numWrong; 
lblCorrect.text = numCorrect; 
if (NumCorrect > NumWrong) { 
    btnCool.title = @"Awww"; 
} else { 
    btnCool.title = @"Cool!"; 
} 
+2

">>"는 오른쪽으로 이동합니다. –

+0

어쩌면 NSLog를 통해 자신이 생각하는 것임을 확신 할 수 있습니다. (그리고 문자열을'>'와 비교하려고 시도하지 않도록 조심하십시오.) –

답변

0

를 사용하여 하나의 더블 >>>

if (NumCorrect > NumWrong) { 
    btnCool.title = @"Awww"; 
} else { 
    btnCool.title = @"Cool!"; 
} 

는 비트 시프트 작업입니다. 변수의 2 진 표현에서 모든 비트를 이동합니다. NumCorrect NumWrong 오른쪽의 Y이트 양. 거의 모든 경우에 이것은 0이 아닌 다른 숫자로 되돌아 가서 false 값으로 처리되고 따라서 else 블록이 실행됩니다.

+0

감사하지만 나는 그것을 시도한 것을 잊어 버렸습니다. 같은 일 – 79t97g

+0

내가 정수를 출력하면, 하나는 다른 것보다 큽니다. 비교가 작동하지 않습니다. 생각? – 79t97g

+0

올바른 변수를 비교하고 있습니까? 질문에 실제 코드를 게시하십시오. – DrummerB

0

거의 완벽한 - 단지 그 중 하나를 벗으십시오. > 님. >><<은 "비트 시프 팅 (bit-shifting)"을위한 것으로 프로그래밍 초기 단계부터 이상하게 보류됩니다. 너는 그들을 많이 사용하지 않을거야. 정말로 원하는 것은 ><입니다. 이는 숫자가 서로보다 크거나 또는 서로보다 적 으면 테스트하기위한 것입니다.

또한 수학 수업에서 ≥ 및 ≤ (보다 크거나 같음, 작거나 같음)이 유용한 연산임을 기억할 수 있습니다. 그러나 대부분의 키보드에는 기호가 없으므로 C 및 Xcode는 대신 >=<=을 사용합니다.

마지막으로 이미 알고있을 수 있지만 두 개의 숫자가 정확히 일치하는지 확인하려면 을 사용할 수 있습니다 (변수 내용을 설정하는 데 =이 사용되기 때문에).

희망이 도움이 되셨습니다.

+0

감사합니다. 도움이됩니다. 하지만 여전히 위와 같은 문제가 있습니다. 무슨 일이 벌어지는지도 모른다. – 79t97g

+0

'NumCorrect'와'NumWrong' (소문자, btw, upper는 클래스 이름을 사용해야합니다) 변수는 어디에 설정되어 있습니까? – SelectricSimian

+0

안녕하세요. 나는 내가 여기에서 배웠다는 것을 안다 : 나는 위의 다른 코드를 게시했다. – 79t97g

관련 문제