python - 如何从 8 位中取出第 3 位

标签 python bitmask

我有十六进制的:08 这是二进制形式:0000 1000(位位置:7,6,5,4,3,2,1,0)

现在我想在 python 中制作一个位掩码,所以我有位位置 3。
这里的示例 1 或更好(“”中的那个):0000 "1"000

我要怎么做才能只有这一点?

谢谢

最佳答案

右移位索引使该位位于第 0 个位置,然后与 1 进行 AND 以隔离它。

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

输出1

关于python - 如何从 8 位中取出第 3 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56018322/

相关文章:

c - uint64_t 的安全低 32 位掩码

c# - 如何将这几天转换为位掩码?

Python While 循环问题

python - 加入嵌套的字符串列表

python - Eventlet+Gunicorn 工作线程包含哪些内容?

c++ - C++中的按位扩展

python - Tkinter:抓取和焦点有什么区别?

python - 通过 C-API 访问 Numpy Recarray

mysql 位掩码 ID 字段

graphics - 为什么 VkShaderStageFlagBits 是位掩码?