1. 按位與(&)
如果兩個位都是1,則結果為1
否則結果為0
示例:5&2
00000101 (5的二進位制)
00000010 (2的二進位制)
00000000 (5&2結果二進位制,10進製結果為0)
2. 按位或(|)
如果兩個位至少有乙個是1,則結果為1
否則結果為0
示例:5|2
00000101 (5的二進位制)
00000010 (2的二進位制)
00000111 (5|2結果二進位制,10進製結果為7)
3. 按位異或(^)
如果兩個位不相同,則結果為1
否則結果為0
示例:5^2
00000101 (5的二進位制)
00000010 (2的二進位制)
00000111 (5^2結果二進位制,10進製結果為7)
4.按位非(~)
如果當前位為1,則結果為0
否則結果為1
示例:~5
00000101 (5的二進位制)
111111010 (~5結果二進位制,10進製結果為-6,這塊結果為負數,需要注意)
5. 左移(<<)
把位向左移動兩位,即最右邊補兩個0
示例:5<<2
00000101 (5的二進位制)
<<2 (向左移動2位)
0000010100
______________
00010100 (5<<2結果二進位制,10進製結果為20)
6. 右移(>>)
把位向右移動兩位,即最左邊邊補兩個0
示例:5>>2
00000101 (5的二進位制)
>>2 (向右移動2位)
0000000101
______________
00000001 (5>>2結果二進位制,10進製結果為1)
c 位操作符
我們知道,任何資訊在計算機中都是以二進位制的形式儲存的。位操作符就是對資料按二進位制進行運算的操作符。c 語言中的位操作符有 與 或 異或 取補 左移 右移 其中,取補只有乙個運算元,而其它的位操作符都有兩個運算元。這些運算都不會產生溢位。位操作符的運算元為整型或者是可以轉換為整型的任何其它型別。與...
c語言操作符 位操作符 移位操作符
1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...
c 按位操作符
位運算是指按二進位制進行的運算。在程式中,常常需要處理二進位制位的問題。c c 語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。在實際應用中,建議用unsigned整型運算元,因為帶符號運算元可能因為不同機器結果不同。c...