• 2

請問這段C語言的意思是???

if(!(j % 2) && (DIP_Port % 2)) j++;
if( (j % 2) && !(DIP_Port % 2)) j++;
2012-03-22 21:10 發佈
文章關鍵字 意思 C語言
寫成一行就可以達到相同運算結果了吧!

if ((j & 1) ^ (DIP_Port & 1)) j++;

或是

if ((j ^ DIP_Port) & 1) j++;
需要中文解釋 看不懂這兩行的意思!!
當j及DIP_Port兩個變數,其中一者為奇數而另一者為偶數時(邏輯聯想:運用C語言的XOR互斥運算子),j值加1。兩者同為奇數或同為偶數時,沒有動作。

用bitwise operator去寫,速度比較快。
if(!(j % 2) && (DIP_Port % 2)) j++;
只要 j 或 DIP_Port 或 (兩者多是) 偶數 j就加一;

if( (j % 2) && !(DIP_Port % 2)) j++;
j 和 DIP_Port 兩者多是奇數 j就加一;

tongny_wu wrote:
if(!(j % 2...(恕刪)


回家作業要自己寫,
不過這也算很基本的邏輯運算吧,
上課會不會太混了。
才上過一節 實在不太懂所以才發問

tongny_wu wrote:
if(!(j % 2...(恕刪)

DIP_Port 這是只有0跟1的變數嗎? 這顆好像是按鈕?
是不是按鈕 這誰知道阿...

但應該不是只有0或1 不然沒必要去算 %2

PS: 這種東西 上下隨邊插個log 不就知道答案了
C語言不困難喔...

你問的東西 是基本中的基本

例如!,==,%,&& 這些東西 都有他的優先順序,以及運算符號意義...等等

摸不會 寫程式 我看是很難弄出來...

java也是 一樣 某些程式語言也都用這些符號 沒有太大變化
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?