どちらか片方でも 1 なら結果が 1 になる論理演算。両方 0 のときだけ 0。「A か B のどちらかが成り立つ」という条件を表現します。
OR 演算(論理和)は、2 つの入力ビットのどちらか一方でも 1 ならば結果を 1 にする論理演算です。両方 0 のときだけ 0 になります。 日常の言葉では「A か B のどちらかが成り立つ」という条件を表します。
上のツールで A と B を切り替えると、0 と 0 の組み合わせだけが灰色(0)になり、それ以外はすべて緑(1)です。
真理値表は、入力の全パターンに対する出力をまとめた表のことです。OR は入力 2 つなので 4 パターン。覚え方は AND の正反対で「0 が 2 つ揃ったときだけ 0」。それ以外はすべて 1 です。
・0 OR 0 = 0:どちらも成り立たないときだけ 0
・0 OR 1 = 1:片方でも成り立てば 1
・1 OR 0 = 1:片方でも成り立てば 1
・1 OR 1 = 1:両方成り立てば当然 1
日常の感覚で言うと「条件 A か条件 B のどちらかを満たせば OK」というのと同じ。例えば「会員 OR 65 歳以上で割引」というルール。回路図の MIL 記号は丸みのある「盾型」で、AND ゲートと区別できるようになっています。
OR の最大の用途はビットマスクで 1 を立てる処理です。OR の「片方でも 1 なら 1」という性質を使うと、特定の桁を選んで強制的に 1 にできます。AND の逆の役割と考えると分かりやすいです。
・フラグの ON(設定):立てたい桁が 1 のマスクと OR を取ると、その桁が必ず 1 になる。権限フラグの追加など
・状態の合成:複数の状態(例: アイコンの表示フラグ群)を 1 つの値にマージする
・カラー値の上書き:32 ビット ARGB で α 値を最大化したいときに、α 部分のマスクと OR
・レジスタの特定ビット有効化:CPU・マイコンの I/O 制御で、ピンや機能を有効化する
プログラミング言語では |(ビット単位 OR)と ||(論理 OR)の 2 種類があり、前者はビット同士、後者は条件式同士に使います。「OR で立てる、AND で落とす」とペアで覚えるのが王道です。