位运算共有四种’&’、’|’、’~’和’^’
都以A=60,B=30为例
&:按位与操作,按二进制位进行与运算。
A:0011 1100
B:0001 1110
&:0001 1100 //即A&B:28
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1(一个为假,则为假)
|:按位或运算。
A:0011 1100
B:0001 1110
|:0011 1110//即A|B:62
运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1(都为假时为假)
~:取反运算符。
A: 0011 1100
~:1100 0011//即~A:-61
这里负数涉及涉及原码、补码反码的转换。
运算规则:~1=0; ~0=1
^:异或运算符。
A:0011 1100
B:0001 1110
^:0010 0010//即A^B:34
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0(一真一假时为真)
左移(<<),右移(>>),怎么算?
记口诀:
左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方
右移一位都相当于除以2的1次方,左移n位就相当于除以2的n次方
解释说明:
它们都是双目运算符,两个运算分量都是整形,结果也是整形。
‘<<’左移:右边空出的位置补0,其值相当于乘以2。
‘>>’右移:左边空出的位,如果是正数则补0,若为负数则补0或1 其值相当于除以2.