应用于二进制
在逻辑运算符的基础上,按位运算
与运算:全1得1
0&0=0;
0&1=0;
1&1=1;
或运算:全0得0
0|0=0;
0|1=1;
1|1=1;
异或运算:相同为0,不同为1
0^0=0;
0^1=1;
1^1=0;
取反:0变1,1变0
~0=1;
~1=0;
代码演示
A = 0011 1100;
B = 0000 1101;
--------------
A&B = 0000 1100;
A|B = 0011 0001;
A^B = 0011 0001;
~B = 1111 0010
面试题
问:2*8怎么运算最快?
- 这个题引入两个新的位运算符:
<<
>>
分别是左移和右移
System.out.println(2<<3);
输出结果为:16
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
<<
相当于 *2>>
相当于 /2