&、^、|操作符称为逻辑操作符,用逻辑操作符把运算对象连接起来符合C#语法的式子称为逻辑表达式。逻辑操作符“!”和“^”只作用于其后的操作数,故称为一元操作符。
这3个操作符用于表达式,产生一个true或false逻辑值。
逻辑操作符对于表达式a和b的操作如下表所示。
逻辑操作符运行结果
a | b | a&b | a|b | a^b | << | >> |
false | false | false | false | false | 左位移 | 右位移 |
false | true | false | true | true | - | - |
true | false | false | true | true | - | - |
true | true | true | true | false | - | - |
|当且仅当两个操作数均为 false 时,结果才为 false。&当且仅当两个操作数均为 true 时,结果才为 true。^当且仅当只有一个操作数为 true 时,结果才为 true。~ 运算符对操作数执行按位求补运算,其效果相当于反转每一位。
<< 与 >> 把需要位移的数字转为二进制,进行平行位移
例子:
十进制表示: 3 | 2 = 3 ;3 & 2= 2 ;3^2=1; 13>>1=6 ; 13 <<1 = 26
二进制表示: 11 | 10 = 11; 11 & 10 = 2 ; 11 ^ 10 = 1 也就是按位对表格上面的计算结果