译:位运算及移位运算

2017-08-09  本文已影响0人  zheng7

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);
    }
}
上一篇下一篇

猜你喜欢

热点阅读