在我的課程中,我們將C翻譯爲MIPS。用三元運算符將C轉換爲MIPS
我們被要求將這一片段: A = A ? B : C[0]
我相信我明白三元運算符,但什麼是這裏想?不應該是一個布爾?那麼它會在MIPS中以1或0的值表示嗎?
謝謝
在我的課程中,我們將C翻譯爲MIPS。用三元運算符將C轉換爲MIPS
我們被要求將這一片段: A = A ? B : C[0]
我相信我明白三元運算符,但什麼是這裏想?不應該是一個布爾?那麼它會在MIPS中以1或0的值表示嗎?
謝謝
這可能有助於第一翻譯三元表達式僞代碼,例如:
if A != 0 // if A is non-zero, i.e. TRUE
A = B
else // otherwise A is zero, i.e. FALSE
A = C[0]
這很有道理,但零是從哪裏來的? – 2015-01-26 23:42:50
在C中,非零變量被定義爲「真」。 – markgz 2015-01-26 23:44:42
完美,謝謝! – 2015-01-26 23:49:08
'A'應該是一個算術或指針類型。在布爾上下文中,「A」的計算方式與「A!= 0」相同。 – 2015-01-26 23:08:28