2015-01-26 59 views
0

在我的課程中,我們將C翻譯爲MIPS。用三元運算符將C轉換爲MIPS

我們被要求將這一片段: A = A ? B : C[0]

我相信我明白三元運算符,但什麼是這裏想?不應該是一個布爾?那麼它會在MIPS中以1或0的值表示嗎?

謝謝

+1

'A'應該是一個算術或指針類型。在布爾上下文中,「A」的計算方式與「A!= 0」相同。 – 2015-01-26 23:08:28

回答

2

這可能有助於第一翻譯三元表達式僞代碼,例如:

if A != 0  // if A is non-zero, i.e. TRUE 
    A = B 
else   // otherwise A is zero, i.e. FALSE 
    A = C[0] 
+0

這很有道理,但零是從哪裏來的? – 2015-01-26 23:42:50

+0

在C中,非零變量被定義爲「真」。 – markgz 2015-01-26 23:44:42

+0

完美,謝謝! – 2015-01-26 23:49:08