1. 程式人生 > >位運算符詳解

位運算符詳解

返回 mage 分享圖片 clas AS nbsp 左移 不能 str

位運算符比一般的算術運算符速度要快,而且可以實現一些算術運算符不能實現的功能。如果要開發高效率程序,位運算符是必不可少的。位運算符用來對二進制位進行操作,包括:按位與(&)、按位或(|)、按位異或(^)、按位取反(~)、按位左移(<<)、按位右移(>>)。下面就給大家介紹位運算符的詳細用法。

位運算

指定 A = 60(0011 1100); B = 13 (0000 1101)

按位與(&)

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

(A & B) 結果為 12, 二進制為 0000 1100

按位或(|)

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

(A | B) 結果為 61, 二進制為 0011 1101

按位異或(^)

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

(A ^ B) 結果為 49, 二進制為 0011 0001

按位取反(~)

對一個操作數的每一位都取反

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

按位左移(<<)

將操作數的所有位向左移動指定的位數。

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

技術分享圖片

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

按位右移(<<)

將操作數的所有位向又移動指定的位數。

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

技術分享圖片

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

位運算符詳解