テクノロジ系基礎理論出題頻度 ★★

論理演算(AND・OR・NOT)

「かつ」「または」「ではない」を0と1で計算する論理演算を、スイッチと電球の回路で直感的に解説。AND・OR・NOT・XORの真理値表から、ビットごとの演算(マスク)、論理式の値を求める問題まで解けるようになります。

この単元の用語:論理演算 / 論理積(AND) / 論理和(OR) / 否定(NOT) / 排他的論理和(XOR) / 真理値表 / NAND / NOR / ビット演算

「論理演算」って名前からして難しそうなんですけど…。

中身は「かつ」「または」「ではない」を0と1で計算するだけだよ。0を「いいえ(偽)」、1を「はい(真)」と読みかえれば、ふだんの会話と同じなんだ。

論理演算は「条件の組み合わせ」

「土曜日 かつ 晴れなら公園に行く」「雨 または 雪なら傘を持つ」のように、私たちは日常的に条件を組み合わせています。

コンピュータはこの「はい/いいえ」を 1(真)と0(偽) で表し、決まったルールで計算します。これが 論理演算 です。検索エンジンの「キーワードA AND キーワードB」も論理演算そのものです。

入力と出力のすべての組み合わせを一覧にした表を 真理値表 といいます。試験では、この表を読めるかどうかがカギになります。

AND(論理積):両方1のときだけ1

AND(論理積) は「AかつB」。両方が1のときだけ1 になります。かけ算(1×1=1、それ以外は0)と同じ結果なので「積」と呼びます。

OR(論理和):どちらかが1なら1

OR(論理和) は「AまたはB」。少なくとも一方が1なら1 になります。両方0のときだけ0です。

スイッチと電球の回路で考えると、違いがよくわかります。

AND(直列つなぎ) 🔋 A B 💡 AもBも閉じたときだけ点灯 → 両方1のときだけ1 OR(並列つなぎ) 🔋 A B 💡 どちらかが閉じれば点灯 → 少なくとも一方が1なら1
スイッチを閉じる=1、電球が点く=1と考えると、ANDは直列、ORは並列の回路になる

NOT(否定):0と1をひっくり返す

NOT(否定) は入力が1つだけの演算で、1なら0、0なら1 に反転します。「晴れ ではない」のイメージです。

XOR(排他的論理和):違うときだけ1

XOR(排他的論理和) は「AとBの値が異なるときだけ1」になる演算です。ORと違い、両方1のときは0 になります。「どちらか一方だけ」と覚えましょう。

NAND・NOR:結果をNOTで反転したもの

  • NAND = NOT (A AND B):ANDの結果をひっくり返す。両方1のときだけ0
  • NOR = NOT (A OR B):ORの結果をひっくり返す。両方0のときだけ1

ここまでの演算を1つの真理値表にまとめます。

ABANDORXORNANDNOR
0000011
0101110
1001110
1111000
  • AND:1が「全員そろって」はじめて1(かけ算)
  • OR:1が「1人でもいれば」1
  • XOR:「意見が割れたら」1
  • NAND・NOR:AND・ORの列を 0と1を入れかえるだけ

ORとXORの違いは「両方1」の行だけ。ORは1、XORは0。ひっかけ問題はほぼここを突いてくる。

ビット演算:桁ごとに計算する

2進数どうしの論理演算は、同じ位置の桁ごとに 計算します。繰り上がりはありません。2進数そのものの読み方は単元「2進数と基数変換」で確認しておきましょう。

特によく出るのが、ANDを使って 一部の桁だけを取り出す「マスク」 という使い方です。

データ 10110110 マスク AND 00001111 結果 00000110 マスクが0の桁 → 必ず0になる マスクが1の桁 → そのまま残る
0で「隠し」、1で「通す」。お面(マスク)の穴から見える部分だけが残るイメージ

1101 と 1011 を計算してみよう(左の桁から順に)

  • AND:1と1→1、1と0→0、0と1→0、1と1→1 → 1001
  • OR:1、1、1、1 → 1111
  • XOR:0、1、1、0 → 0110

論理式の値を求める

(A AND B) OR (NOT C) のような式は、かっこの中から順に 0か1かを決めていきます。

A=1、B=0、C=0 のとき

  1. A AND B = 1 AND 0 = 0
  2. NOT C = NOT 0 = 1
  3. 0 OR 1 = 1

「NOT (A AND B)」と「NOT A AND NOT B」って同じですか?

違うんだ。NOT (A AND B) は (NOT A) OR (NOT B) と同じになる。かっこを外すときにANDとORが入れかわるんだよ。これをド・モルガンの法則というんだ。真理値表を書いて確かめてみるといいよ。

試験に出るポイント

  • AND:両方1で1/OR:どちらか1で1/NOT:反転/XOR:異なれば1
  • NAND・NORは、AND・ORの結果をNOTで反転したもの
  • ビット演算は桁ごとに計算。ANDのマスクで特定の桁を取り出せる
  • 論理式はかっこの内側から順に計算する
  • 迷ったら真理値表を書いて全パターンを確かめる

確認クイズ

選択肢をタップすると、すぐに正解と解説が表示されます。

Q18ビットのデータ 10110110 と 00001111 の論理積(AND)をとった結果はどれか。

Q24ビットのデータ 1100 と 1010 の排他的論理和(XOR)をとった結果はどれか。

Q3次の真理値表で表される演算はどれか。
A=0、B=0 → 1
A=0、B=1 → 1
A=1、B=0 → 1
A=1、B=1 → 0

Q4論理式 (A AND B) OR (NOT C) の値が 1 になるのはどれか。