程序中的所有数在计算机内存中都是以二进制的形式储存的,位运算就是直接对整数在内存中的二进制位进行操作的运算
位运算符:
& 按位与(and)
| 按位或(or)
^ 按位异或(xor)
~ 按位取反(not)
<< 左移(shl)
>> 带符号右移(shr)
&
与运算
“&”是双目运算符,二进制对应位,同为1则为1,否则为0
例如(二进制数1010和0110)
1010&0110=0010
|
或运算
“|”是双目运算符,二进制对应位,同为0则为0,否则为1
例如(二进制数1010和0110)
1010|0110=1110
^
异或运算
“^”是双目运算符,二进制对应位,相同则为0,不同则为1
例如(二进制数1010和0110)
1010^0110=1100
~
取反运算
“~”为单目运算符,二进制位,1变为0,