日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

转: C语言中位运算符异或“∧”的作用

發布時間:2025/6/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转: C语言中位运算符异或“∧”的作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:?http://blog.sina.com.cn/s/blog_74a459380101d6xl.html

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

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

?

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

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

?

在【二進制值運算】中:不同為1,相同為0,如1001異或1010等于0011。
異或也叫半加運算,其運算法則相當于不帶進位的二進制加法:二進制下用1表示真,0表示假,則異或的運算法則為:0異或0=0,1異或0=1,0異或1=1,1異或1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位。

轉載于:https://www.cnblogs.com/soTired/p/5312307.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的转: C语言中位运算符异或“∧”的作用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。