java基礎之位運算子

2021-08-17 09:40:48 字數 389 閱讀 8567

處理整形型別時,可以直接對組成整型數值的各個位完成操作,這意味著可以使用掩碼技術得到整數中的各個位。位運算子包括

&(「and」)、|(「or」)、^(「xor」)、~(「not」)

這些運算子按位模式處理。例如,如果n是乙個整數變數,而且用二進位制表示的n從右邊數第四位為1,則

int x = (n & 0b1000)/0b1000;

會反回1,否則返回0.利用&並結合使用適當的2的冪,可以吧其他位掩掉,而只保留其中某一位。

另外,還有》和《運算子將位模式左移或右移。需要建立位模式來完成位掩碼時,這兩個運算子會很方便:

int x = (n &(1<<3))  >>  3;

最後,>>>運算子會用0填充高位,這與》不同,它會用符號位填充高位。不存在《運算子。

Java基礎之位運算子

位運算子主要針對二進位制,它包括了 與 非 或 異或 1 與運算子 符號 其使用規律如下 如果不是二進位制數字要先轉換成二進位制再對兩個數進行比較。運算元中比較的位數如果兩個都為1,結果才為1,否則結果為0,案例 public static void main string args 2 或運算子 ...

java基礎知識之位運算子

位運算子除按位與和按位或運算子外,其他只能用於處理整數的運算元,位運算是完全針對位方面的操作。整型資料在記憶體中以二進位制的形式表示,如int型變數7的二進位制表示是00000000 00000000 00000000 00000111。左邊最高位是符號位,最高位是0表示整數,若為1則表示負數,負數...

運算子之位運算子

右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...