国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

C語言總結之異或運算的一些特性及巧妙應用

發布時間:2017-8-26 09:51    發布者:技術小白
1.一個數和自己做異或的結果是0。如果需要一個常數0,x86平臺的編譯器可能會生成這樣的指令:
xorl %eax, %eax。不管eax寄存器里的值原來是多少,做異或運算都能得到0,這條指令比同樣效果的
movl $0, %eax指令快,直接對寄存器做位運算比生成一個立即數再傳送到寄存器要快一些。

2.從異或的真值表中可以看出,和0做異或保持原值不變,和1做異或得到原值的相反值。可以利用這個特性配合掩碼實現某些位的翻轉,例如:
   1.    unsigned int a, b, mask = 1U << 6;  
   2.    a = 0x12345678;  
   3.    b = a ^ mask; /* flip the 6th bit */

3.如果a1 ^ a2 ^ a3 ^ … ^ an的結果是1,則表示a1、a2、a3…an之中1的個數為奇數個,否則為偶數個。這條性質可用于奇偶校驗(Parity Check),比如在串口通信過程中,每個字節的數據都計算一個校驗位,數據和校驗位一起發送出去,這樣接收方可以根據校驗位粗略地判斷接收到的數據是否有誤。

4. x ^ x ^ y == y,因為x ^ x == 0,0 ^ y == y。這個性質有什么用呢?我們來看這樣一個問題:交換兩個變量的值,不得借助額外的存儲空間,所以不能采用temp = a; a = b; b = temp;的辦法。利用位運算可以這樣做交換:

1.              a = a ^ b;  
2.              b = b ^ a;  
3.              a = a ^ b;

分析一下這個過程。為了避免混淆,把a和b的初值分別記為a0和b0。第一行,a = a0 ^ b0;第二行,把a的新值代入,得到b = b0 ^ a0 ^ b0,等號右邊的b0相當于上面公式中的x,a0相當于y,所以結果為a0;第三行,把a和b的新值代入,得到a = a0 ^ b0 ^ a0,結果為b0。注意這個過程不能把同一個變量跟自己交換,而利用中間變量temp則可以交換。

0異或0=0,1異或0=1,0異或1=1,1異或1=0(同為0,異為1。
程序中有三種演算子:XOR、xor、 ^。

口訣:相同取0,相異取1。(二進制)

異或的巧妙應用

C語言中若需要交換兩個變量的值,除了通常使用的借用中間變量進行交換外,還可以利用異或,僅使用兩個變量進行交換,如:
a=a^b;
b=a^b;
a=a^b;
這樣就完成了a與b的交換。

想要了解嵌入式物聯網相關技術的可以聯系宋工企鵝號三五二四六五九零八八
Tel:173--1795--1908
免費試聽C語言、電子PCBSTM32LinuxFPGA、JAVA、安卓等。
想學習的你和我聯系預約就可以免費聽課了。





本文地址:http://m.qingdxww.cn/thread-516188-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99国产精品九九视频免费看 | 天天摸夜夜添夜夜添国产 | www国产视频| 无限视频免费观看网 | 免费jjzz在在线播放国产 | 国产成人在线免费观看 | 欧美成人午夜在线全部免费 | 麻豆 国产| 国产成人高清视频 | 国产特级毛片aaaaaa高清 | 麻豆免费永久网址入口网址 | 国产一区二区在线免费观看 | 久久99热精品免费观看动漫 | 亚洲国产成人精品久久 | 91 色 | 久久国产热这里只有精品8 久久国产热这里只有精品 久久国产热视频 | 亚洲一区二区三区福利在线 | 91精品国产91久久久久 | 国产三级毛片视频 | 91麻豆国产视频 | 日韩免费影院 | 尤物国产在线精品福利一区 | 国产成人午夜精品5599 | 天堂中文在线www | 国产精品福利社 | 欧美激情综合亚洲五月蜜桃 | 在线播放亚洲精品 | 香蕉久久精品国产 | 日产精品卡2卡三卡乱码网址 | 日本在线观看一级高清片 | 日韩视频中文字幕 | 国内精品免费麻豆网站91麻豆 | 欧美99视频| 国产精品黄页在线播放免费 | 99热精品久久只有精品黑人 | 欧美xxxx黑人又粗又长 | 向日葵的免费观看地址 | 日韩精品毛片 | 日韩在线视频一区二区三区 | 精品一区二区三区四区五区六区 | 色老头视频在线观看 |