Java位运算

  位运算是使用二进制形式进行运算,与平常的数值运算相比,速度较快。主要包括:左移、右移、无符号右移、与运算、或运算、异或运算、取反

  

1、左移

 <<左移运算符,高位去掉,低位补0

  

1 int a = 6;
2 a = a << 1;
3 System.out.println(a);
4 
5 输出:
6 
7 12
2、右移

 >>右移运算符,高位按照原来的数字进行补充,低位去掉。>>>效果类似,只是高位使用 0 补充,低位去掉

  

1 int a = 24;
2 a = a >> 1;
3 System.out.println(a);
4 
5 输出:
6 
7 12
3、与运算

& 与运算符,两个为 1 才为 1,有一个为 0 就是 0

  

1 int a = 24
2 a = a & 10;
3 System.out.println(a);
4 
5 输出:
6 
7 12
4、或运算

 | 或运算符,两个有一个为 1 即为 1

  

1 int a = 24;
2 a = a | 10;
3 System.out.println(a);
4 
5 输出:
6 
7 26
5、异或运算

^ 异或运算符,两个只有在不同时才为 1

  

 1 int a = 24;
 2 a = a ^ 10;
 3 System.out.println(a);
 4 
 5 a = a ^ 10;
 6 System.out.println(a);
 7 
 8 输出:
 9 
10 18
11 24
6、取反运算

~ 取反运算符

  

1 int a = 24;
2 a = ~a;
3 System.out.println(a);
4 
5 输出:
6 
7 -25
原文地址:https://www.cnblogs.com/xugf/p/7875417.html