部分參考scdxmoe的部落格
c語言提供了6個位操作運算子。這些運算子只能作用於整數運算元,及只能作用於帶符號或無符號的char,short,int,long型別。
「或運算」應用:
常用來對乙個資料的某些位置1。
方法:找到乙個數,對應x要置1的位,該數的對應位為1,其餘位為零。此數與x相或可使x中的某些位置為1。
異或運算」應用:
使特定位翻轉 找乙個數,對應x要翻轉的各位,該數的對應位為1,其餘位為零,此數與x對應位異或即可。
#include
intmain()
在對unsigned右移的時候,左邊空出的部分用0填補。
在對signed右移的時候,某些機器將對左邊空出的部分用符號填補(算術移位),而另一些機器則對左邊空出的部分用0填補。(邏輯移位)
右移時,左補0 or 補1 得看被移數是正還是負。
#include
intmain()
按位運算子
基本運算子 按位與運算子,可以對變數s的特定位清零,這時可以設定乙個變數mask,將mask中的特定位賦值為0,其他位置為1,然後作運算 s s mask 即可特定位清零。使用按位與運算,可以取變數s的指定位的值,這時可以設定乙個變數mask,將mask中的指定位賦值為1,其他位置賦值為0,然後作運...
按位運算子
1.按位取反或者二進位制補碼 把1變為0,把0變為1 2.按位與 任何位與0組合都為0,任何位與1組合都為本身 應用 關閉位 清空位 需要開啟乙個值中的特定位,同時保持其他位不變 所有位為0 把1變為0,其餘位不變。假設有乙個二進位制數00011010 從左到右的第4位1表示開關,現在要關閉開關 置...
按位運算子
參加運算的兩個資料,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 例如 3 5 即 0000 0011 0000 0101 0000 0001 因此,3 5的值得1。另,負數按補碼形式參加按位與運算。與運算 的特殊用...