読み方: ろんりえんざん
1行定義
AND・OR・NOT・XORなど真偽値(0と1)を演算する基本操作。コンピュータの全演算はこれらの組み合わせで実現される
詳細解説
論理演算(Logical Operation)は、真(1/True)と偽(0/False)の2値を対象とした演算で、コンピュータのすべての処理の基礎をなします。コンピュータのCPUは論理回路(ANDゲート・ORゲート・NOTゲート等の組み合わせ)で構成されており、すべての算術演算・比較・制御も論理演算の組み合わせで実現されています。主な論理演算の種類は次の通りです。AND(論理積):両方が1のときのみ1。真理値表:0AND0=0、0AND1=0、1AND0=0、1AND1=1。「かつ」に相当。フィルタリング・ビットマスクに使用。OR(論理和):どちらか一方でも1なら1。0OR0=0、0OR1=1、1OR0=1、1OR1=1。「または」に相当。NOT(否定):0を1に、1を0に反転する単項演算。「ではない」に相当。XOR(排他的論理和):片方だけ1のときに1(両方同じ値は0)。0XOR0=0、0XOR1=1、1XOR0=1、1XOR1=0。「どちらか一方のみ」に相当。NAND(否定論理積):ANDの否定。NANDゲートだけですべての論理回路を構成できる(機能的完全性)。NOR(否定論理和):ORの否定。NORゲートだけでも完全性。ド・モルガンの定理はNOT(A AND B)=NOT(A) OR NOT(B)、NOT(A OR B)=NOT(A) AND NOT(B)が成り立つ重要な変換法則です。プログラミングにおける論理演算の活用はif文の条件式・ビット操作(フラグ管理・権限チェック・暗号化)・データ検索フィルタなど多岐にわたります。ITパスポートでは、表計算の論理和・論理積の関数を使った条件判定の形で問われています(令和5年度 公開問題 問75)。真理値表やビット演算そのものは、基本情報技術者試験の科目A(旧午前)で繰り返し出題されています。
論理回路の基本:AND・OR・NOT・XOR・NAND・NORの真理値表
結論:論理回路は、0と1を入力して0と1を出力する部品(論理ゲート)の組合せです。AND(論理積)は両方1のときだけ1、OR(論理和)はどちらかが1なら1、NOT(否定)は反転、XOR(排他的論理和)は2つが異なるときだけ1です。NAND・NORはAND・ORの出力を反転したものです。
合格ナビに収録しているITパスポートの公開問題600問(令和3〜8年度・各100問)には、真理値表や論理回路そのものを問う問題はありません。基本情報技術者試験の収録問題520問では、真理値表・ビット演算を扱う問題が6問あります(2026-10-02 集計)。
| A | B | AND | OR | XOR | NAND | NOR |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
NOTは入力が1つで、0なら1、1なら0を出力します。
- 覚え方の軸は「1になる行の数」です。ANDは1行、ORとNANDは3行、XORは2行、NORは1行だけ1になります。
- 検算:NANDの列はANDの列を、NORの列はORの列を、それぞれ1行ずつ反転したものになっているか確かめます。
- ド・モルガンの法則:NOT(A AND B) = (NOT A) OR (NOT B)、NOT(A OR B) = (NOT A) AND (NOT B)。上の表の4行すべてに当てはめると、左辺と右辺が一致します(例:A=1、B=0 なら NOT(1 AND 0)=1、(NOT 1) OR (NOT 0)=0 OR 1=1)。
論理回路の読み方(回路から真理値表を作る)
回路図を読むときは、入力の組合せをすべて並べ、途中のゲートの出力を列として足しながら左から右へ計算します。入力がn個なら行は2のn乗です。
自作の例:Z = (A AND B) OR (NOT C)
AとBをANDゲートに、CをNOTゲートに入れ、2つの出力をORゲートに入れる回路です。入力は3つなので8行になります。
| A | B | C | A AND B | NOT C | Z |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 |
- 検算:Zが1になるのは「Cが0(4行)」か「AとBが両方1でCが1(1行)」のどちらかなので、1の行は 4+1=5行。表でも5行です。
よく使われる組合せ
- 半加算器:1ビットどうしの足し算は、和(S)= A XOR B、桁上がり(C)= A AND B で表せます。検算:4通りすべてで A+B = 2×C+S が成り立ちます(例:1+1 は S=0、C=1 で 2×1+0=2)。
- NANDだけで他のゲートを作る:NOT A = A NAND A、A AND B = (A NAND B) NAND (A NAND B)。表の4行に当てはめると一致します。
ビット演算への応用
8ビットの値に、ビットごとに論理演算をかける使い方です(自作の値 10110010 で確認)。
| 操作 | 計算 | 結果 | 使い道 |
|---|---|---|---|
| 11111111(16進FF)とXOR | 10110010 XOR 11111111 | 01001101 | 全ビットの反転 |
| 01111111(16進7F)とAND | 10110010 AND 01111111 | 00110010 | 最上位ビットだけ0にして下位7ビットを取り出す |
- 検算:XOR FF の結果は、元の値を1ビットずつNOTで反転した値(01001101)と一致します。AND 7F は、最上位以外の7ビットが元の値のまま残っています。
この論点の過去問を解く(真理値表・ビット演算):
例題:真理値表から論理演算を求める(IPA 過去問)
X 及びY はそれぞれ0 又は1 の値をとる変数である。X □Y をX とY の論理演算としたとき,次の真理値表が得られた。X □Y の真理値表はどれか。
(問題の真理値表)
| X | Y | X AND ( X □Y ) | X OR ( X □Y ) |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
(選択肢の X □Y の値。問題では選択肢ごとに X・Y・X □Y の表が示されています)
| X | Y | ア | イ | ウ | エ |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 0 |
出典:令和6年度 基本情報技術者試験 科目A 公開問題 問1(独立行政法人情報処理推進機構)(問題PDF・解答例PDF)
- X=0 の2行:0 AND(何でも)は必ず0なので、AND の列からは何もわからず、OR の列が X □Y の値そのものになります。OR が1なので、(0,0)→1、(0,1)→1
- X=1 の2行:1 OR(何でも)は必ず1なので、今度は AND の列が X □Y の値そのものです。(1,0)→0、(1,1)→1
- 並べると 1, 1, 0, 1 となり、ウです。
- 検算:ウの値を問題の表に戻すと、4行すべてで AND と OR の列が一致します。ほかの選択肢は、アとイは (0,0) の行で OR が0になり、エは (1,1) の行で AND が0になって合いません。なお、ウの値は (NOT X) OR Y と同じです。
この論点の過去問を解く(真理値表):
ITパスポートでの出題ポイント
- AND(両方1→1)・OR(どちらか1→1)・NOT(反転)・XOR(片方のみ1→1)
- ド・モルガン:NOT(A AND B)=NOT(A) OR NOT(B)が成り立つ
- NANDゲートまたはNORゲート単独でも全論理回路を構成できる
- ビットマスク・フラグ管理・条件分岐の基礎
関連用語
「論理演算」の過去問を解いて理解を定着
合格ナビでは IPA 公式 600問 + 3段階の解説(初級・標準・上級) で「○○とは?」をその場で深掘りできます。
シラバス 6.5 準拠 / 最終更新: 2026-10-02
