位运算:程序中所有的数,在内存中都是以二进制的形式存储的。位运算就是对二进制位进行的位操作(逻辑操作)。
& 与运算
| 或运算
^ 异或运算
~ 反码
<< 左移
>> 右移
>>> 无符号右移
优点:特定情况下,计算方便,速度快,被支持面广。如果用算术方法,速度慢,逻辑复杂。
1.按位与 &
两位全为1,结果才为1。
例:0&0=0; 0&1=0;1&1=1;
17 & 7 即 0001 0001 & 0000 0111 = 0000 0001 因此 17&7=20=1
位运算的特殊用法:
(1)清零。如果想将一个单元清零,即使全部二进制位为0,只要与一个各位都为0的数值相等,结果为0。