2012-11-03 40 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!"; 
} 

>>有點移位操作。將變量NumCorrect NumWrong的字節數量的二進制表示中的每一位都移到右邊。在幾乎所有情況下,這將返回一個0以外的數字,然後將被視爲一個false值,從而執行else塊。

+0

謝謝,但我忘了說我也試過。同樣的東西 – 79t97g

+0

如果我打印整數,一個比另一個大。雖然比較不起作用。思考? – 79t97g

+0

你在比較正確的變量嗎?在問題中發佈您的真實代碼。 – DrummerB

0

幾乎完美 - 只是脫掉其中一個>'s。 >><<是用於「位移」,這是從編程的早期開始的一個奇怪的延遲。你不會用太多。你真正想要的是><,這是爲了測試如果數字大於彼此或小於彼此。

另外,你可能還記得數學課的≥和≤(大於或等於和小於或等於)也是有用的操作。因爲大多數鍵盤上沒有符號,所以C和Xcode使用>=<=

最後,您可能已經知道這一點,但要檢查兩個數字是否完全相等,您可以使用==(因爲=用於設置變量的內容)。

希望有幫助!

+0

謝謝你的幫助!但我仍然有與上面相同的問題。不知道發生了什麼。 – 79t97g

+0

你的'NumCorrect'和'NumWrong'(你應該使用小寫,btw,上面是類名)變量被設置在哪裏? – SelectricSimian

+0

嗨。我知道我剛剛在這裏學到了:)我發佈了上面的其他代碼。 – 79t97g