1. 程式人生 > 實用技巧 >Java的運算子 - 位運算子

Java的運算子 - 位運算子

Java的位運算子主要有4個:與(&),或(|),異或(^),非(~),除了非(~),左移(<<),右移(>>)運算子是一元運算子,其他都是二元運算子。

Java 定義的位運算是對整數型別的位進行操作,包括 long,int,short,char 和 byte。

運算子 名稱 說明 示例
& 按位進行與運算(AND) 4&7=4
按位進行或運算(OR) 4|7=7
^ 異或 按位進行異或運算(XOR) 4^7=3
~ 按位進行取反運算(NOT) ~4=-5

1.位與運算子(&)

位與運算子(&):參與運算的數字,低位對齊,高位不足的補零,如果對應的二進位制位同時為 1,那麼計算結果才為 1,否則為 0。因此,任何數與 0 進行按位與運算,其結果都為 0。

示例:

4&7

如下運算過程:

2.位或運算子(|)

位或運算子(|):參與運算的數字,低位對齊,高位不足的補零。如果對應的二進位制位只要有一個為 1,那麼結果就為 1;如果對應的二進位制位都為 0,結果才為 0。

示例:

4|7

運算過程:

3.位異或運算子(^)

位異或運算子(^),參與運算的數字,低位對齊,高位不足的補零,如果對應的二進位制位相同(同時為 0 或同時為 1)時,結果為 0;如果對應的二進位制位不相同,結果則為 1。

示例:

4^7

運算過程:

4.位取反運算子(~

位取反運算子(~):只對一個運算元進行運算,將運算元二進位制中的 1 改為 0,0 改為 1。

位取反運算子單獨一個章節介紹,涉及到計算機對正、負數儲存方式的不同。

5.位左移運算子<<

位左移運算子:按二進位制形式把所有的數字向左移動對應的位數,高位移出(捨棄),低位的空位補零。

示例:

4<<2

運算過程:

6.位右移運算子>>

位右移運算子:按二進位制形式把所有的數字向右移動對應的位數,低位移出(捨棄),高位的空位補零。

示例:

4<<2

運算過程: