対象試験と出題頻度
論理演算(AND / OR / NOT / XOR)は、ITパスポート・基本情報技術者・応用情報技術者のすべてで出題される最重要テーマです。
真理値表の読み取り、ビット列のマスク操作、MIL記号を使った論理回路の出力判定など、出題パターンが多岐にわたります。
FEでは全19回中16回出題された「鉄板問題」とされており、IPでもベン図と組み合わせた出題が定番化しています。
IP H29秋 問98、IP H25春 問82、FE H18秋 午前問3、AP H28秋 午前問1など、過去問は非常に豊富です。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「AND、OR、NOT、XOR……結局どれがどれ?」と混乱しがちです。
論理演算(Logical Operation)とは、一言で言うと
「真(1)と偽(0)の値を入力として受け取り、決まったルールで真か偽を出力する演算」
のことです。
イメージとしては、「条件を組み合わせてYes/Noを判定する、受付窓口の判定マニュアル」です。
たとえばテーマパークの入場条件が「年間パスを持っている AND(かつ)予約済みである」なら、両方を満たした人だけが入場できます。
「年間パスを持っている OR(または)当日券を買った」なら、どちらか一方でOKです。
このように、複数の条件を「かつ」「または」「ではない」で組み合わせてYes/Noを出す仕組みが論理演算です。
📊 4つの基本論理演算
| 演算名 | 記号 | 意味 | 日常の例え |
|---|---|---|---|
| AND(論理積) | A ∧ B | 両方が真のときだけ真 | パスポート持参 かつ ビザ取得済み → 入国OK |
| OR(論理和) | A ∨ B | どちらか一方でも真なら真 | 現金 または カード → 支払いOK |
| NOT(否定) | ¬A(Ā) | 真偽を反転する | 「営業中ではない」→ 閉店 |
| XOR(排他的論理和) | A ⊕ B | どちらか一方だけが真のとき真 | 表か裏か片方だけ出たら当たり |
詳細解説
論理演算はコンピュータの心臓部であるCPU内部の電子回路(論理回路)を構成する基本要素です。
プログラムの条件分岐、データベースの検索条件、ネットワークのサブネットマスク計算に至るまで、IT分野のあらゆる場面で使われています。
真理値表で覚える4つの演算
論理演算のルールは「真理値表」で丸暗記するのが最も確実です。
入力A・Bのすべての組み合わせ(00, 01, 10, 11)に対する出力を表にしたものが真理値表です。
📊 AND・OR・NOT・XOR の真理値表
| A | B | AND (A ∧ B) |
OR (A ∨ B) |
NOT A (¬A) |
XOR (A ⊕ B) |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 |
※ NOT は入力が1つだけ。表中の NOT A は、入力Aの値だけで出力が決まります。
ここだけは確実に押さえてください。
AND は「両方1のときだけ1」、OR は「どちらか1なら1」、XOR は「片方だけ1なら1」です。この3パターンの区別が全問題の土台になります。
ビット列操作への応用
論理演算は1ビット同士だけでなく、複数ビットのデータに対して桁ごとに適用できます。
この「ビット単位の論理演算」は、FE・APでの頻出テーマです。
▶ AND演算でビットを「取り出す」(クリックで展開)
特定のビットだけを取り出したいとき、取り出したい位置を1、それ以外を0にした「マスクビット」とのAND演算を行います。
マスク : 00001111 ← 下位4ビットだけ1
AND結果 : 00001100 ← 下位4ビットだけ取り出せた
FE H18秋 午前問3では、8ビットデータが16の倍数かどうかを判定するためにこの手法が出題されました。下位4ビットをANDで取り出し、結果が0なら16の倍数と判定できます。
▶ OR演算でビットを「立てる」(クリックで展開)
特定のビットを強制的に1にしたいとき、立てたい位置を1にしたマスクビットとのOR演算を行います。
マスク : 00001111 ← 下位4ビットだけ1
OR 結果 : 10101111 ← 下位4ビットがすべて1に
元のデータの上位4ビットはそのまま保持されつつ、下位4ビットだけが1になります。
▶ XOR演算でビットを「反転する」(クリックで展開)
特定のビットを反転させたいとき、反転したい位置を1にしたマスクビットとのXOR演算を行います。
マスク : 00001111 ← 下位4ビットだけ1
XOR結果 : 10100011 ← 下位4ビットだけ反転
XORは「同じなら0、違うなら1」という性質があるため、マスクが1の位置だけ元の値が反転します。AP H28秋 午前問1では、NOT演算とAND演算を組み合わせて特定ビットの反転と取り出しを行う問題が出題されました。
ベン図との対応関係
論理演算は集合演算(和集合・積集合・補集合)と構造が同じです。
ANDは積集合(∩)、ORは和集合(∪)、NOTは補集合、XORは対称差に対応します。IPではベン図の網掛け部分に対応する論理式を選ぶ問題が定番なので、この対応を把握しておくと両方の問題に対処できます。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 論理演算の核心を3行で
・AND=両方1で1、OR=どちらか1で1、XOR=片方だけ1で1、NOT=反転
・ビット操作では、AND=取り出し、OR=ビットを立てる、XOR=反転という用途で使い分ける
・集合演算のベン図と対応関係があり、IP・FEの両方で同じ考え方が通用する
試験ではこう出る!
論理演算は、IPA試験の基礎理論分野で最も出題頻度が高いテーマの一つです。
出題パターンは大きく3つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| IP H29秋 問98 |
ベン図の網掛け部分に対応する検索条件(AND / OR / NOT の組み合わせ)を選ぶ問題。 | ・ベン図から論理式への変換力 ・NOT と AND/OR の組み合わせ読解 |
| IP H25春 問82 |
排他的論理和(XOR)を AND / OR / NOT で表現した論理式を選ぶ問題。 | ・XOR = (A OR B) AND (NOT A OR NOT B) ・真理値表またはベン図で検証する力 |
| FE H18秋 午前 問3 |
8ビットデータが16の倍数かどうかをビット演算で判定する方法を選ぶ問題。 | ・AND演算(論理積)によるマスク操作 ・下位4ビットを取り出して0判定する手順 |
| AP H28秋 午前 問1 |
8ビットデータの下位4ビットを反転させ上位4ビットを0にする論理式を選ぶ問題。 | ・NOT + AND の組み合わせによるビット操作 ・16進数とビット列の変換が前提知識 |
📝 IPA試験での出題パターン
パターン1:「ベン図から論理式を選べ」(IP中心)
3つの集合のベン図で網掛けされた領域に対応する AND / OR / NOT の組み合わせを選ぶ形式。網掛け部分を言葉に置き換えてから論理式にする手順を踏めば正解できる。
パターン2:「ビット列のマスク操作を選べ」(FE・AP中心)
8ビットデータに対して特定のビットを取り出す・反転させる操作を論理演算で行う問題。AND=取り出し、OR=強制1、XOR=反転というパターンを覚えておけば即答可能。
パターン3:「MIL記号の論理回路の出力を求めよ」(FE中心)
AND / OR / NOT / XOR / NAND / NOR のMIL記号で描かれた回路図に入力値を与え、出力を求める問題。真理値表を暗記していれば、入力側からゲートを順にたどるだけで解ける。FEでは全19回中16回出題された最頻出テーマ。
試験では深追い不要です。真理値表の4パターンを暗記し、ビット操作の3用途(取り出し・立てる・反転)を覚えておけば、どのパターンでも得点できます。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. 8ビットのデータ「10110100」の下位4ビットだけを取り出す(上位4ビットは0にする)ために使う演算として、最も適切なものはどれでしょうか?
- A. マスクビット「00001111」との AND(論理積)を取る。下位4ビットはそのまま残り、上位4ビットは0になる。
- B. マスクビット「00001111」との OR(論理和)を取る。下位4ビットはすべて1になり、上位4ビットはそのまま残る。
- C. マスクビット「00001111」との XOR(排他的論理和)を取る。下位4ビットが反転し、上位4ビットはそのまま残る。
正解と解説を見る
正解:A
解説:
特定のビットを「取り出す」操作には AND 演算を使います。マスクビットが1の位置は元の値がそのまま残り、0の位置は結果も0になるためです。実際に計算すると、10110100 AND 00001111 = 00000100 となり、下位4ビット(0100)だけが取り出されます。
選択肢BのOR演算は、マスクが1の位置を強制的に1にする操作です。結果は 10111111 となり、下位4ビットがすべて1に変わってしまいます。選択肢CのXOR演算は、マスクが1の位置のビットを反転させる操作です。結果は 10111011 となり、下位4ビットが反転するだけで「取り出し」にはなりません。
よくある質問(FAQ)
Q. NAND と NOR も覚える必要はありますか?
FEの論理回路の問題では必要です。NAND は AND の出力を反転したもの(両方1のときだけ0)、NOR は OR の出力を反転したもの(両方0のときだけ1)です。MIL記号では AND・OR の記号の出力側に小さな丸(否定バブル)がつきます。真理値表で4パターンを確認すればすぐに覚えられます。IPでは出題されないため、IPだけ受験する場合は後回しで構いません。
Q. 「論理演算」と「論理回路」は違うものですか?
論理演算は「計算のルール」、論理回路は「そのルールをハードウェアで実現した電子回路」です。たとえば AND演算というルールを物理的な回路として作ったものが AND回路(ANDゲート)です。試験では両方が同じ分野から出題されますが、問われる内容は異なります。論理演算の問題はビット列の計算が中心で、論理回路の問題はMIL記号の回路図を読む力が求められます。
Q. プログラミング言語での論理演算子と試験に出る記号は同じですか?
記号の書き方は異なりますが、意味は同じです。試験では ∧(AND)、∨(OR)、¬(NOT)、⊕(XOR)という数学的な記号が使われます。一方、Pythonなどでは and / or / not、C言語やJavaでは &&(AND)、||(OR)、!(NOT)、^(XOR)と書きます。記号が違うだけで演算のルールは真理値表の通りです。
Q. XOR が暗号技術に使われると聞きましたが、どういうことですか?
XORには「同じ値でもう一度XORすると元に戻る」という性質があります。平文データを鍵ビット列でXOR演算すると暗号文になり、暗号文を同じ鍵でもう一度XOR演算すると平文に復元できます。ストリーム暗号やワンタイムパッドの基礎原理がまさにこの仕組みです。IPA試験では暗号分野の深掘りとして問われることはありませんが、セキュリティの学習を進める際に知っておくと理解が広がります。