[英]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:]
但我面临很多问题,将它转换回二进制数...你会如何截断它?
只需使用按位&
所有1
s的字节:
cs = cs & 0b11111111
# or, if you're feeling daring:
cs &= 0b11111111
Phydeaux的解决方案要好得多,但我在做:
>>> cs=0b1010101010100101
>>> cs=int(bin(cs)[-8:], 2)
>>> bin(cs)
'0b10100101'
基于你在str
上尝试的内容
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.