C語言異或運算在程序設計中的妙用


異或運算符∧也稱XOR運算符。它的規則是若參加運算的兩個二進位同號,則結果為0(假);異號則為1(真)。即0∧0=0,0∧1=1,1∧1=0。

性質:

(1).與1異或會翻轉

(2).與0異或保持不變

(3).一個數異或它本身等於0

(4).每一位的結果只與該位有關。

應用:

(1).使特定位翻轉

假設有01110101,現在想讓第一位,第三位翻轉(最低位為第一位),只要異或00000101,得到01110000.

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

  假如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原來的值。

(3).a^b=c->a^c=b

參考文章:http://blog.sina.com.cn/s/blog_74a459380101d6xl.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM