位運算(與 或 異或 取反 右移 左移)

2021-08-21 14:25:35 字數 745 閱讀 4888

1、按位與(&)

對兩個數進行操作,然後返回乙個新的數,這個數的每個位都需要兩個輸入數的同一位都為1時才為1,如下圖:

(a & b) 結果為 12, 二進位制為 0000 1100

2、按位或(|)

比較兩個數,然後返回乙個新的數,這個數的每一位設定1的條件是兩個輸入數的同一位都不為0(即任意乙個為1,或都為1),如下圖:

(a | b) 結果為 61, 二進位制為 0011 1101

3、按位異或(^)

比較兩個數,然後返回乙個數,這個數的每個位設為1的條件是兩個輸入數的同一位不同,如果相同就設為0,如下圖:

(a ^ b) 結果為 49, 二進位制為 0011 0001

4、按位取反(~)

對乙個運算元的每一位都取反,如下圖:

(~a ) 結果為 -61, 二進位制為 1100 0011

5、按位左移(<<)

將運算元的所有位向左移動指定的位數。

下圖展示了11111111 << 1(11111111 左移一位)的結果。藍色數字表示被移動位,灰色表示被丟棄位,空位用橙色的0填充。

(a << 2)結果為 240, 二進位制為 1111 0000

6、按位右移(<<)

將運算元的所有位向又移動指定的位數。

下圖展示了11111111 >> 1(11111111 右移一位)的結果。藍色數字表示被移動位,灰色表示被丟棄位,空位用橙色的0填充。

a >> 2 結果為 15, 二進位制為 0000 1111

位運算(取反 補碼 左移 右移 與 或)

4.右移 5.與6.或 7.異或 8.位運算的應用 ending 1 將參加運算的兩個數轉換為二進位制,若預設為int則有32位,這裡預設為short型16位 10 0000 0000 0000 1010 2 左移兩位,右補0 0000 0000 0010 1000 401 先求出 10以補碼的形式...

Python位運算 與 或 異或 左移右移

與運算規則 1 1 1 0 1 0 0 0 0以1和5的與運算為例 1的二進位制為 001 5的二進位制為 101 僅最後一位都為1,所以結果為001 1 5 1或運算規則 1 1 1 1 0 1 0 0 0以4和6的或運算為例 4的二進位制為 100 6的二進位制為 110 僅最後一位都為0,所以...

C語言位運算子 與 或 異或 取反 左移和右移

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位的...