Java运算符——位运算符

简介

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。
位运算符作用在所有的位上,并且按位运算。
位运算符的计算都是在二进制格式下进行的,也就是说如果给出的数格式不是二进制格式需要先转成二进制格式。

位运算符

这里写图片描述
“&”(与)、”|”(或)、”^”(异或)、”~”(非)

举例

先说下二进制的格式,这里用最低的八位表示:00000000,从右向左,如果是1就代表2的多少次幂,从0次幂开始。
例如:
3 用二进制表示为 00000011,2的0次幂+2的1次幂


假设a = 3,b = 6;
测试代码

public class Test {
    public static void main(String[] args) {
        int a = 3; /* 3 = 0000 0011 */
        int b = 6; /* 6 = 0000 0110 */
        int c = 0;
        c = a & b;
        System.out.println("a & b = " + c );

        c = a | b;
        System.out.println("a | b = " + c );

        c = a ^ b;
        System.out.println("a ^ b = " + c );

        c = ~a;
        System.out.println("~a = " + c );

        c = a << 1;
        System.out.println("a << 1 = " + c );

        c = a >> 1;
        System.out.println("a >> 1  = " + c );

        c = a >>> 1;
        System.out.println("a >>> 1 = " + c );
    }
}

运行结束

a & b = 2
a | b = 7
a ^ b = 5
~a = -4
a << 1 = 6
a >> 1  = 1
a >>> 1 = 1

猜你喜欢

转载自blog.csdn.net/zyw0101/article/details/80427870