C語言的位操作符

來源:互聯網
上載者:User

位元運算符有:&(按位與)、|(按位或)、^(按位異或)、~ (按位取反)。

優先順序從高到低,依次為~、&、^、|。

按位與運算有兩種典型用法:①取一個位串資訊的某幾位,如以下代碼截取x的最低7位:x & 01111111。②讓某變數保留某幾位,其餘位置0,如以下代碼讓x只保留最低6位:x = x & 00111111;

按位或運算的典型用法:將一個位串資訊的某幾位置為1。如將要獲得最右4位置為1,其他位與變數j原來其他位保持相同,可用邏輯或運算00001111|j;

按位異或運算的典型用法:是求一個位串資訊的某幾位資訊的反。如欲求整型變數j的最右4位資訊的反,用邏輯異或運算00001111^j,就能求得j最右4位的資訊的反,即原來為1的位,結果是0,原來為0的位,結果是1。

例如:交換兩個值,不用臨時變數,假如a=3,b=4。想將a和b的值互換,可以用以下指派陳述式實現: a=a^b; b=b^a; a=a^b;

取反運算常用來產生與系統實現無關的常數。如要將變數x最低6位置成0,其餘位不變,可用代碼x = x & ~0111111實現。

 

轉自:http://blog.csdn.net/sandy1983/archive/2009/09/17/4562668.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.