Python按位运算符详解:&(与)、|(或)
Python按位运算符详解:&(与)、|(或)
提问: 7 & 4 的结果是 4,为什么不是将这个结果与 x 进行按位或运算,即 3 | 4,得到 7?
回答: 实际上,代码并没有将 7 & 4 的结果与 x 进行按位或运算。
代码解释:
在给定的代码中,7 & 4 和 3 | 4 是两个独立的按位运算表达式。
-
按位与运算符 &:
-
7 & 4是进行按位与运算。 - 按位与运算符&会对两个操作数的对应位进行逻辑与操作。 - 只有在两个操作数的对应位都为 1 时,结果才为 1,否则结果为 0。 - 将7和4分别表示为二进制数0111和0100。 - 进行按位与运算:0111 & 0100 ------- 0100- 因为只有第三位上两个操作数都为1,所以结果的第三位为1,其他位都为0。 - 所以7 & 4得到的结果是4。
-
-
按位或运算符 |:
3 | 4是进行按位或运算。 - 按位或运算符|会对两个操作数的对应位进行逻辑或操作。 - 只要两个操作数的对应位中有一个为 1,结果就为 1,否则结果为 0。 - 将3和4分别表示为二进制数0011和0100。 - 进行按位或运算:0011 | 0100 ------- 0111- 因为在每一位上至少有一个操作数为1,所以结果的每一位都为1。 - 所以3 | 4得到的结果是7。
总结:
7 & 4 和 3 | 4 是两个独立的运算,分别得到结果 4 和 7。
原文地址: https://www.cveoy.top/t/topic/cfd2 著作权归作者所有。请勿转载和采集!