ITパスポート

論理演算とは?テクノロジ系 ・ コンピュータシステム

読み方: ろんりえんざん

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 集計)。

ABANDORXORNANDNOR
0000011
0101110
1001110
1111000

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行になります。

ABCA AND BNOT CZ
000011
001000
010011
011000
100011
101000
110111
111101
  • 検算: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)とXOR10110010 XOR 1111111101001101全ビットの反転
01111111(16進7F)とAND10110010 AND 0111111100110010最上位ビットだけ0にして下位7ビットを取り出す
  • 検算:XOR FF の結果は、元の値を1ビットずつNOTで反転した値(01001101)と一致します。AND 7F は、最上位以外の7ビットが元の値のまま残っています。

この論点の過去問を解く(真理値表・ビット演算):

例題:真理値表から論理演算を求める(IPA 過去問)

X 及びY はそれぞれ0 又は1 の値をとる変数である。X □Y をX とY の論理演算としたとき,次の真理値表が得られた。X □Y の真理値表はどれか。

(問題の真理値表)

XYX AND ( X □Y )X OR ( X □Y )
0001
0101
1001
1111

(選択肢の X □Y の値。問題では選択肢ごとに X・Y・X □Y の表が示されています)

XYアイウエ
000011
010111
100001
111110

出典:令和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パスポートでの出題ポイント

  1. AND(両方1→1)・OR(どちらか1→1)・NOT(反転)・XOR(片方のみ1→1)
  2. ド・モルガン:NOT(A AND B)=NOT(A) OR NOT(B)が成り立つ
  3. NANDゲートまたはNORゲート単独でも全論理回路を構成できる
  4. ビットマスク・フラグ管理・条件分岐の基礎

関連用語

「論理演算」の過去問を解いて理解を定着

合格ナビでは IPA 公式 600問 + 3段階の解説(初級・標準・上級) で「○○とは?」をその場で深掘りできます。

過去問を解く 用語集トップへ


シラバス 6.5 準拠 / 最終更新: 2026-10-02