異或“∧”運算的作用

異或:相同爲0,不同爲1

異或運算符∧也稱XOR運算符。

它的規則是若參加運算的兩個二進位同號,則結果爲0(假);異號則爲1(真)。

即0∧0=0,0∧1=1,1∧1=0。如: 即071∧052,結果爲023(八進制數)。

“異或”的意思是判斷兩個相應的位值是否爲“異”,爲“異”(值不同)就取真(1),否則爲(0)。

  下面舉例說明∧運算符的應用:

  (1)與1相∧,使特定位翻轉

  假設有01111010,想使其低4位翻轉,即1變爲0,0變爲1。可以將它與00001111進行∧運算,即 

結果值的低4位正好是原數低4位的翻轉。要使哪幾位翻轉就將與其∧運算的該幾位置爲1即可。這是因爲原數中值爲1的位與1進行∧運算得0,原數中的位值0與1進行∧運算的結果得1。

  (2)與0相∧,保留原值

  如012∧00=012

因爲原數中的1與0進行∧運算得1,0∧0得0,故保留原數。

  (3)交換兩個值,不用臨時變量

  假如a=3,b=4。想將a和b的值互換,可以用以下賦值語句實現:

  a=a∧b;
  b=b∧a;
  a=a∧b;

  可以用下面的豎式來說明,即等效於以下兩步:

  ① 執行前兩個賦值語句:“a=a∧b;”和“b=b∧a;”相當於b=b∧(a∧b)。而b∧a∧b等於a∧b∧b。b∧b的結果爲0,因爲同一個數與本身相∧,結果必爲0。因此b的值等於a∧0,即a,其值爲3。

  ② 再執行第三個賦值語句:a=a∧b。由於a的值等於(a∧b),b的值等於(b∧a∧b),因此,相當於a=a∧b∧b∧a∧b,即a的值等於a∧a∧b∧b∧b,等於b。

  a得到b原來的值。
--------------------- 
原文:https://blog.csdn.net/jiangqin115/article/details/44101027 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章