The Java? Tutorials : Bitwise and Bit Shift Operators
Java語言提供了對整數(shù)類型(bit、short、int、long)進行位運算及移位運算的操作。這些操作并不常用,所以他們的作用很簡單。本文的目的只是讓你意識到這些操作的存在。
一元按位求補操作符 ~ 反轉(zhuǎn)每一個比特位。這個操作符可以應用到任何整數(shù)類型,把每一個“0”變成“1”,“1”變成“0”。例如:一個 byte 包含8個比特,每個比特位分別是“00000000”,對這個 byte 進行~操作每個比特位將變成“11111111”。
帶符號的左移操作符 << 向左移動一個比特,帶符號的右移操作符 >> 向右移動一個比特。比特位由左操作數(shù)給出,移動幾個比特位由右操作數(shù)給出。不帶符號的右移操作符 >>> 將 “0” 移入最左邊,而帶符號的右移操作符 >> 則取決于符號位。
按位操作 & 實現(xiàn)按位與。
按位操作 ^ 實現(xiàn)按位異或。
按位操作 | 實現(xiàn)按位或。
下面的程序 BitDemo 使用按位與操作將數(shù)字“2”輸出到標準輸出。
class BitDemo {
public static void main(String[] args) {
int bitmask = 0x000F;
int val = 0x2222;
// prints "2"
System.out.println(val & bitmask);
}
}