Java位運算子範例 - tw511教學網

文章推薦指數: 80 %
投票人數:10人

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



請為這篇文章評分?