java中按位運算

一、位與&:

對應的二進制位進行與操作,兩個都爲1才爲1,其他情況均爲0

測試: 

System.out.println(5&6); 

打印:4 

過程: 

5表示成:0000 0000 0000 0000 0000 0000 0000 0101 

6表示成:0000 0000 0000 0000 0000 0000 0000 0110 

進行 & :0000 0000 0000 0000 0000 0000 0000 0100 

得到:4


二、位或|:

|操作符,對應的二進制位進行或操作,兩個都爲0才爲0,其他情況均爲1 

測試: 

System.out.println(5|6); 

打印:7 

過程: 

5表示成:0000 0000 0000 0000 0000 0000 0000 0101 

6表示成:0000 0000 0000 0000 0000 0000 0000 0110 

進行 | :0000 0000 0000 0000 0000 0000 0000 0111 

得到:7 

三、位異或^:

^操作符 當對應二進制位值相同,該位爲0 否則爲1 

測試: 

System.out.println(5^6); 

打印:3 

過程: 

5表示成:0000 0000 0000 0000 0000 0000 0000 0101 

6表示成:0000 0000 0000 0000 0000 0000 0000 0110 

進行 ^ :0000 0000 0000 0000 0000 0000 0000 0011 

得到:3 

四、位非~:

~操作符,對每個二進制位的內容求反,即1變成0,0變成1 

測試負數: 

int a = -5;//101; 

System.out.println(~a); 

打印:4 

過程是這樣的,首先表示出來這個負數 

1111 1111 1111 1111 1111 1111 1111 1011(上面已經提到爲什麼這樣表示) 

各位取反得到 

0000 0000 0000 0000 0000 0000 0000 0100 

轉爲10進製得到4 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章