簡體   English   中英

python - 將x位二進制數切換為一個字節(8位)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM