Java位運算子範例 - tw511教學網
文章推薦指數: 80 %
Java定義了幾個按位元運算子,可以應用於整數型別, 如: long , int , short , char 和 byte 。
按位元運算子處理位並執行逐位運算。
全部教學»Java位運算子範例
Java位運算子範例
2019-10-1622:21:23
Java定義了幾個按位元運算子,可以應用於整數型別,如:long,int,short,char和byte。
按位元運算子處理位並執行逐位運算。
假設a=60且b=13;採用二進位制格式,它們將如下-
a=00111100
b=00001101
-----------------
a&b=00001100
a|b=00111101
a^b=00110001
~a=11000011
下面的表中列出了按位元運算子,假設整數變數A=60,變數B=13,那麼-
運算子
描述
範例
&
二進位制AND運算子,如果存在於兩個運算元中,則它會將結果複製到結果中。
A&B的結果為:12,也就是:00001100
Ι
二進位制OR運算子,如果存在於任一運算元中,則複製一位。
AΙB的結果為:61,也就是:00111101
^
二進位制互斥或運算子,如果在一個運算元中設定但不在兩個運算元中設定,則複製該位。
A^B的結果為:49,也就是:00110001
~
二元一元補充運算子是一元的,具有「翻轉」位的效果。
~A的結果為:-61,也就是:11000011
<<
二進位制左移運算子,左運算元值向左移動右運算元指定的位數。
A<<2的結果為:240,也就是:11110000
>>
二進位制右移運算子,左運算元值向右移動右運算元指定的位數。
A>>2的結果為:15,也就是:1111
>>>
右移零填充運算子。
左運算元值向右移動右運算元指定的位數,移位值用零填充。
A>>>2的結果為:15,也就是:00001111
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta=60;/*60=00111100*/
intb=13;/*13=00001101*/
intc=0;
c=a&b;/*12=00001100*/
System.out.println("a&b="+c);
c=a|b;/*61=00111101*/
System.out.println("a|b="+c);
c=a^b;/*49=00110001*/
System.out.println("a^b="+c);
c=~a;/*-61=11000011*/
System.out.println("~a="+c);
c=a<<2;/*240=11110000*/
System.out.println("a<<2="+c);
c=a>>2;/*15=1111*/
System.out.println("a>>2="+c);
c=a>>>2;/*15=00001111*/
System.out.println("a>>>2="+c);
}
}
執行上面範例程式碼,得到以下結果:
a&b=12
a|b=61
a^b=49
~a=-61
a<<2=240
a>>2=15
a>>>2=15
延伸文章資訊
- 1JAVA 位運算子和位移運算子 - 程式前沿
java位運算子包括&(與) AND |(或) OR ^(異或) XOR ~(非) NOT 位移運算子包括>>(右移) >(右移,左邊空出的位以0填充) 顧名思義,位運算子 ...
- 2[JAVA]運算子-位元運算子(Bitwise Operators) - 程式開發學習之路
位元運算子用途範例:A=00000101B=00000111結果註解~補數~A111110101轉換成0,0轉換成1&ANDA & B00000101只有1&a.
- 3Java :: 運算子
位元運算
- 4Java 的算術運算子
位元運算子
- 5Java 運算式 - 翻轉工作室
運算子. 描 述. 指定運算子. 位元邏輯運算子. = 指定變數內容. ^. 位元 XOR. 算術運算子. &. 位元 AND. +, -. 一元(unary)正負符號. |. 位元 OR. +...