位运算符
位运算符包括:
&
、|
、^
、~
、<<
、>>
分析
&
按位与操作,按二进制位进行"与"运算。
|
按位或运算符,按二进制位进行"或"运算。
^
异或运算符,按二进制位进行"异或"运算。
~
取反运算符,按二进制位进行"取反"运算。
<<
二进制左移运算符。
>>
二进制右移运算符。
实例
实例条件
X = 60
转换二进制为 X = 0011 1100
Y = 13
转换二进制为 Y = 0000 1101
1. 当 X & Y
时
准则:二进制中上下对应,全 0
则 0
,全 1
则 1
,其他均为 0
。
数值/二进制位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
X = 60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
Y = 13 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
X & Y | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
2. 当 X | Y
时
准则:二进制中上下对应,全 0
则 0
,全 1
则 1
,其他均为 1
。
数值/二进制位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
X = 60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
Y = 13 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
X | Y | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 |
3. 当 X ^ Y
时
准则:二进制中上下对应,全 0
则 0
,全 1
则 0
,其他均为 1
。
数值/二进制位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
X = 60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
Y = 13 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
X ^ Y | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
4. 当 ~X
时
准则:二进制中上下对应,遇0
变 1
,遇 1
变 0
。
数值/二进制位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
X = 60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
~X | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
5. 当 X << 2
时
准则:二进制中上下对应,向左移两位,最右补 0
。
数值/二进制位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
X = 60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
X << 2 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
6. 当 X >> 2
时
准则:二进制中上下对应,向右移两位,最左补 0
。
数值/二进制位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
X = 60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
X << 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |