如何从8位中取出3位

Gam*_*ner 3 python bitmask

我用十六进制表示:08 二进制:(0000 1000位位置:7,6,5,4,3,2,1,0)

现在,我想在python中创建一个位掩码,因此我的位置为3。
在此示例1或更佳的示例中(“”中的一个):0000 "1"000

我该怎么办才能拥有这一点?

谢谢

AKX*_*AKX 7

向右移动一位索引以使该位在第0位,然后与1进行“与”操作将其隔离。

val = 0b01001000  # note the extra `1` to prove this works
pos = 3
bit = (val >> pos) & 1
print(bit)
Run Code Online (Sandbox Code Playgroud)

输出 1