不是真的狗 2022-10-17 12:57 采纳率: 100%
浏览 16
已结题

python中的位运算不符合预期

问题遇到的现象和发生背景

python中的位运算不符合预期

用代码块功能插入代码,请勿粘贴截图
a1 = 0b0101
b1 = 0b1010
print(a1 and b1)

a2 = 5
b2 = 10
print(a2 and b2)
运行结果及报错内容

10
10

我想要达到的结果

根据我的理解,a2 and b2应该是先把a2、b2转换成二进制(也就是a1、b1),再进行位运算,运算结果也确实是一样的,都是10.
但是这个结果我不知道怎么出来的。a1 and b1的结果不应该是0000吗?

  • 写回答

2条回答 默认 最新

  • 於黾 2022-10-17 13:33
    关注

    and是逻辑与,相当于c语言里的&&
    算术与就是&
    你应该写a&b

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月17日