Python按位运算符详解:&(与)、|(或)

提问: 7 & 4 的结果是 4,为什么不是将这个结果与 x 进行按位或运算,即 3 | 4,得到 7?

回答: 实际上,代码并没有将 7 & 4 的结果与 x 进行按位或运算。

代码解释:

在给定的代码中,7 & 43 | 4 是两个独立的按位运算表达式。

  1. 按位与运算符 &:

    • 7 & 4 是进行按位与运算。 - 按位与运算符 & 会对两个操作数的对应位进行逻辑与操作。 - 只有在两个操作数的对应位都为 1 时,结果才为 1,否则结果为 0。 - 将 74 分别表示为二进制数 01110100。 - 进行按位与运算:

      0111 & 0100 ------- 0100 - 因为只有第三位上两个操作数都为 1,所以结果的第三位为 1,其他位都为 0。 - 所以 7 & 4 得到的结果是 4

  2. 按位或运算符 |:

    • 3 | 4 是进行按位或运算。 - 按位或运算符 | 会对两个操作数的对应位进行逻辑或操作。 - 只要两个操作数的对应位中有一个为 1,结果就为 1,否则结果为 0。 - 将 34 分别表示为二进制数 00110100。 - 进行按位或运算: 0011 | 0100 ------- 0111 - 因为在每一位上至少有一个操作数为 1,所以结果的每一位都为 1。 - 所以 3 | 4 得到的结果是 7

总结:

7 & 43 | 4 是两个独立的运算,分别得到结果 4 和 7。

Python按位运算符详解:&(与)、|(或)

原文地址: https://www.cveoy.top/t/topic/cfd2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录