位運算符詳解
阿新 • • 發佈:2018-06-25
返回 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
位運算符詳解