我正在使用ROBOTC來編程我的機器人,並且我使用了其他人編寫的代碼。在一個功能,我看行:ROBOTC - 不確定about>符號
int leftDir = (left>0)*2-1;
leftDir
被初始化爲一個整數,所以什麼是>
嗎?我的印象是二元轉變,但我不確定。有人可以解釋這個嗎? 謝謝。
我正在使用ROBOTC來編程我的機器人,並且我使用了其他人編寫的代碼。在一個功能,我看行:ROBOTC - 不確定about>符號
int leftDir = (left>0)*2-1;
leftDir
被初始化爲一個整數,所以什麼是>
嗎?我的印象是二元轉變,但我不確定。有人可以解釋這個嗎? 謝謝。
>
是greater than
運營商。在C的比較結果爲1
爲true
或0
爲false
。換句話說上面的代碼在邏輯上等同於(但更緊湊):
int leftDir;
if (left > 0) {
leftDir = 1;
} else {
leftDir = -1;
}
好的。我沒有真正這樣想過。謝謝! – Jeeter
以前的答案是正確的,但我相信他意欲它作爲一個比特移位操作。這是有道理的,因爲他繼續將數值乘以一個數字,這意味着他不會將其視爲布爾值。然而,他不正確,關於roobtc位移符號。如果要在robotc中移位一個數字,請使用以下語法:
int foo = 0b00001111 >> 2; //bit shifts the bianary number 00001111 over by two bits, so foo will be set to the result 00000011
Naw。這是「大於」運營商。 (我很確定你在數學公式中使用過,不是。) – 2013-10-25 19:10:57
但是,如何將'leftDir'初始化爲一個整數? – Jeeter
沒有任何問題。你關心什麼? – 2013-10-25 19:12:06