6

変数「DATA」にバイトがあります。それからLSBビットを抽出して印刷したい。私はPythonに非常に慣れていません。複雑なビット単位の加算ロジックを含む多くの記事を見つけましたが、それらはすべて理解するのが非常に困難でした。DATA[7:1] などの文字列で行うような単純なロジックを探しています。助けてください...

4

3 に答える 3

16

あなたの「バイト」はintですか?その場合は、ビットごとの AND ( &) を1(または、より明確にしたい場合はバイナリ リテラル0b1) を使用して、最下位ビットを取得します。

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

あなたの「バイト」はbytesオブジェクトですか?その場合は、それにインデックスを付けて、ビットごとの AND を取ります。

>>> y = bytes([14, 15])
>>> y[0] & 1
0
>>> y[1] & 1
1
于 2014-01-24T19:59:06.907 に答える