The Java™ Tutorials : Bitwise and Bit Shift Operators
Java语言提供了对整数类型(bit、short、int、long)进行位运算及移位运算的操作。这些操作并不常用,所以他们的作用很简单。本文的目的只是让你意识到这些操作的存在。
一元按位求补操作符 ~
反转每一个比特位。这个操作符可以应用到任何整数类型,把每一个“0”变成“1”,“1”变成“0”。例如:一个 byte 包含8个比特,每个比特位分别是“00000000”,对这个 byte 进行~
操作每个比特位将变成“11111111”。
带符号的左移操作符 <<
向左移动一个比特,带符号的右移操作符 >>
向右移动一个比特。比特位由左操作数给出,移动几个比特位由右操作数给出。不带符号的右移操作符 >>>
将 “0” 移入最左边,而带符号的右移操作符 >>
则取决于符号位。
按位操作 &
实现按位与。
按位操作 ^
实现按位异或。
按位操作 |
实现按位或。
下面的程序 BitDemo 使用按位与操作将数字“2”输出到标准输出。
class BitDemo {
public static void main(String[] args) {
int bitmask = 0x000F;
int val = 0x2222;
// prints "2"
System.out.println(val & bitmask);
}
}
网友评论