組み込み開発のためのPython · レッスン 32 / 220

ビット演算でフラグを扱う

ビット演算はレジスターのフラグ抽出や設定に使われます。Python整数は任意精度なので、ハードウェア幅をマスクし、符号付き値の解釈を仕様に合わせます。

ビット演算はレジスターのフラグ抽出や設定に使われます。Python整数は任意精度なので、ハードウェア幅をマスクし、符号付き値の解釈を仕様に合わせます。 このページでは、構文だけでなく、入力の検証と再現可能な確認方法も扱います。

考え方と使いどころ

ビット演算はレジスターのフラグ抽出や設定に使われます。Python整数は任意精度なので、ハードウェア幅をマスクし、符号付き値の解釈を仕様に合わせます。

組み込み開発での注意点

比較対象の型と単位をそろえます。ビット演算では対象幅、符号、マスクを仕様として明示してください。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

status = 0b1010_0001
ready_mask = 0b1000_0000
fault_mask = 0b0000_0010
is_ready = bool(status & ready_mask)
has_fault = bool(status & fault_mask)
print(is_ready, has_fault)

手を動かす課題

8ビット値から二つのフラグを抽出し、幅を超える入力をマスクしてください。

参考資料

「真偽値と演算子」の章一覧へ