Extract LSB bit from a Byte in python

て烟熏妆下的殇ゞ 提交于 2019-12-24 05:04:21

问题


I have a byte in variable 'DATA'. I want to extract the LSB bit out of it and print it. I'm very new to python, I found many articles with complex bitwise addition logic and all which was very tough to understand. I'm looking for a simple logic like we do with the strings eg DATA[7:1] Please help me out...


回答1:


Is your "byte" an int? If so, just take bitwise AND (&) with 1 (or, if you want to be more explicit, the binary literal 0b1) to get the least significant bit.

>>> x = 14
>>> x & 1
0
>>> x = 15
>>> x & 1
1

Is your "byte" a bytes object? If so, just index into it and take bitwise AND.

>>> y = bytes([14, 15])
>>> y[0] & 1
0
>>> y[1] & 1
1



回答2:


Right shift by the number n and take the last bit by and 1

num >> n &1


来源:https://stackoverflow.com/questions/21341338/extract-lsb-bit-from-a-byte-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!