python——将一个x位的二进制数截成一个字节(8bit)

python - cut a x-bit binary number to a byte (8bit)

我正在使用 python 2.7。我需要将二进制数从 x 位截断为 8 位(字节) 我将写一个我想做的事情的例子来说明这一点,而且因为 stackexchange 出于某种原因不会让我写下我的问题,例如:

0b1010101010100101 -> 0b10100101

我尝试了这个解决方法:将它转换为字符串,然后将其切割为子字符串,但我没能成功

str_cs = str(bin(cs))
str_cs = str_cs[to_cut:]

但是我在将它转换回二进制数时遇到很多问题... 你会如何截断它?

简单地使用一个 bitwise & 和一个字节的所有 1s:

cs = cs & 0b11111111
# or, if you're feeling daring:
cs &= 0b11111111

Phydeaux 的解决方案好多了,但我在做 :

>>> cs=0b1010101010100101
>>> cs=int(bin(cs)[-8:], 2)
>>> bin(cs)
'0b10100101'

基于您尝试使用 str