広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 55 / 69

ビット演算(AND・OR・XOR・シフト演算)

このレッスンでは、Pythonのビット演算の基本を学び、数値を2進数として扱う低レベルな計算方法を理解することを目標にします。「Python ビット演算 AND OR」で調べている方向けの内容です。

ビット演算は、数値を2進数として扱い、ビットごとに計算する演算です。&(AND)・|(OR)・^(XOR)・<<(左シフト)があり、フラグの管理や低レベルな処理でよく使われます。数値を2進数の桁ごとに比較・計算するという、通常の四則演算とは違う考え方が必要です。

サンプルコードでは、12(2進数で1100)と10(2進数で1010)という2つの数値に対して、AND・OR・XOR・左シフトの4つの演算を試しています。&は両方のビットが1のときだけ1に、|はどちらかが1なら1になる、というように、桁ごとの計算結果を積み重ねて最終的な数値が決まります。

普段のアプリ開発では使う機会が少なくても、画像処理や暗号処理の基礎を理解するうえで役立つ、コンピュータの仕組みに近い知識です。複数のオン・オフのフラグを1つの数値にまとめて管理する「ビットフラグ」というテクニックも、ビット演算の代表的な応用例です。

フラグを複数まとめて1つの数値で管理する、といった省メモリなテクニックにも使われます。より低レベルな領域に踏み込むときには欠かせない基礎知識としてビット演算が登場します。

Python
OUTPUT / 実行結果

💡 初回実行時はPythonエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
フラグ管理のような、少し低レベルな処理の仕組みが理解できるようになります。
広告スペース(バナー)
広告スペース(記事内)