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

C語(yǔ)言總結(jié)之異或運(yùn)算的一些特性及巧妙應(yīng)用

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

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

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

4. x ^ x ^ y == y,因?yàn)閤 ^ x == 0,0 ^ y == y。這個(gè)性質(zhì)有什么用呢?我們來(lái)看這樣一個(gè)問(wèn)題:交換兩個(gè)變量的值,不得借助額外的存儲(chǔ)空間,所以不能采用temp = a; a = b; b = temp;的辦法。利用位運(yùn)算可以這樣做交換:

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

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

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

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

異或的巧妙應(yīng)用

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

想要了解嵌入式物聯(lián)網(wǎng)相關(guān)技術(shù)的可以聯(lián)系宋工企鵝號(hào)三五二四六五九零八八
Tel:173--1795--1908
免費(fèi)試聽(tīng)C語(yǔ)言、電子PCBSTM32LinuxFPGA、JAVA、安卓等。
想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽(tīng)課了。





本文地址:http://www.qingdxww.cn/thread-516188-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 5分鐘詳解定時(shí)器/計(jì)數(shù)器E和波形擴(kuò)展!
  • 無(wú)線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程2
  • 無(wú)線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程3
  • 為何選擇集成電平轉(zhuǎn)換?
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线亚洲免费 | 99热99热| 青青青国产免费线在 | 精品国产一区二区二三区在线观看 | 亚洲一区二区三区免费在线观看 | 久草免费在线观看 | 日韩中文字幕一区二区不卡 | 亚洲欧美专区精品伊人久久 | 七月丁香色婷婷综合激情 | 四虎官方影库 | 国产精品1区2区3区 国产精品1区2区 | 九九久久精品视频 | 日韩一区国产二区欧美三 | 97热在线| 特级av毛片免费观看 | 亚洲精品国精品久久99热 | 国产香蕉免费精品视频 | 久久精品国产福利国产秒 | 四虎影院www | 午夜在线免费视频 | 特黄特色的视频免费播放 | 尹人香蕉 | 国产亚洲一区二区精品 | 五月婷婷在线观看视频 | 日本三级网站在线线观看 | 国产福利2021最新在线观看 | 日韩一区二区免费视频 | 美女国模嫣然生殖欣赏337p | 天堂中文在线最新版 | 老司机久久 | 九九热在线免费 | 致命弯道8在线观看高清免费观看 | 欧洲精品码一区二区三区免费看 | 亚洲最大激情网 | 国产深夜福利19禁在线播放 | 91频视 | 日韩在线视频一区二区三区 | 花季传媒3.0.3黄版每天三次 | 亚洲欧美专区精品久久 | 69视频免费在线观看 | h肉动漫在线观看高清 |