python中的&位操作[重复]
Posted
技术标签:
【中文标题】python中的&位操作[重复]【英文标题】:& Bit operation in python [duplicate] 【发布时间】:2020-07-06 05:14:44 【问题描述】:在按位进行&
时,我认为通过指定数字会在必要的位置添加该数字,但在 python 中我得到以下信息:
>>> 4&2
0
>>> 4&1<<1
0
>>> 0b100 & 0b010
0
我认为这会给110
或6,但似乎我误解了&
运算符。我在这里做错了什么或上面的误解?
【问题讨论】:
你想要按位或'|'给你 0b110 或 6。 【参考方案1】:按位&
仅当所有操作数在该位置都有 1 时才会在位位置为您提供 1。你正在寻找按位|
。
【讨论】:
谢谢。您如何指代“位位置”?它通常被称为“1”、“2”、“4”吗?或者 1st, 2nd, 3rd lsb,或者它通常是怎么称呼的? 您从右到左读取位。右端的数字是最不重要的位,0b0101 = 1*1 + 0*2 + 1*4 + 0*8 @sergenp 知道了,所以在上面你会说“在一个位置有一个 1,在两个位置有一个 0”,或者你如何直接引用位的位置? @samuelbrody1249 1st lsb 2nd lsb...(LSB0, LSB1...) 是您可以说的方式之一,正如您可以说 1st msb 2nd msb... (MSB0, MSB1 ...)以上是关于python中的&位操作[重复]的主要内容,如果未能解决你的问题,请参考以下文章