java學習之旅-4

位運算符在C裏面並沒有學到,所以算是新知識了,至於用途嘛,我還不太清楚,先來看看吧。

&:

參與運算的兩個數,若相應二進制位數的值都爲1,則該結果值是1,否則是0,類似於“與”,例如:

System.out.println(3 & 5);//結果爲1
運算過程如下:

   00000011(3)
   00000101(5)    &
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\   
   00000001(1)

|:

參與運算的兩個數相應位中只要有一個爲1,則結果就是1,類似於“或”,例如:

System.out.println(3 | 5);//結果爲7
運算過程如下:
    00000011(3)
    00000101(5)    |
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    00000111(7)

^:

參與運算的兩個數相應位相同則結果爲0,否則結果爲1,類似於異或,例如:

System.out.println(3 ^ 5);//結果爲6
運算過程如下:
    00000011(3)
    00000101(5)   ^
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    00000110(6)

~:

表示把每個二進制位的‘1’換成‘0’,把‘0’換成‘1’,類似於取反,例如:

System.out.println(~ 5);//結果爲-6
運算過程如下:
    00000101(5)   ~
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    11111010(-6)

其實還有'<<','>>','>>>'三個位運算符,不過難度大一點,所以下次再說吧。

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