2017-09-13 9 views
2

私はpython 2.7を使用しています。私はxビットから8ビット(バイト)のバイナリ数値を切り捨てる必要があります 私はそれを明確にするために何をしたいのか、そしてまたstackexchangeは何らかの理由で私の質問を書くことを残さないので例:文字列に変換してから、サブ文字列としてそれをカット、私はそれがpython - xビットの2進数をバイト(8ビット)にカット

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

を作業するために管理していませんでしたが、私は直面しています:

0b1010101010100101 -> 0b10100101 

私はこの回避策を試してみましたそれをバイナリ番号に変換する多くの問題... どうすれば切り捨てますか?

答えて

5

単純にすべて1秒のバイトでbitwise &を使用:より良いPhydeauxの

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

いつものように一番簡単な解決策です...ありがとうございました –

+0

私は数分待っていましたが、ステークチェンジルールは –

2

ソリューションが、私はやっていた:

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

をあなたはstr

にしようとしていたものに基づいて、
+0

でした私は良い結果なしでやろうとしていた –

+1

私はそれだけを試しました、私はint()でベースを選択する可能性を知りませんでした、もう一度ありがとう –

関連する問題