【Python面试题】请解释一下Python中的位运算符?
【Python面试题答案】:
该运算符按二进制位对值进行操作。
与(&),按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
>>> 0b110 & 0b010
2
或(|),按位或运算符:只要对应的⼆个⼆进位有⼀个为1时,结果位就为1。
>>> 3|2
3
异或(^),按位异或运算符:当两对应的⼆进位相异时,结果为1
>>> 3^2
1
取反(~),按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
>>> ~2
-3
左位移(<<),运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
>>> 1<<2
4
右位移(>>),把">>"左边的运算数的各⼆进位全部右移若⼲位, >> 右边的数字指定了移动的位数
>>> 4>>2
1