論理演算(AND・OR・XOR)とは?ろんりえんざん
論理演算(AND・OR・XOR)とは、真(1)と偽(0)の2値に対する演算で、ANDは両方が1のときだけ1、ORはどちらかが1なら1、NOTは0と1を反転、XOR(排他的論理和)は2つの値が異なるときだけ1になる。数値の各ビットに同時に適用すれば、特定のビットだけを取り出す・立てる・反転させるといった加工ができる。
最終更新:2026-10-09
この語が出る過去問を解く →背景
コンピュータの内部は電圧の高低しか区別できないため、扱える値はもともと1と0の2つしかない。この2値だけで条件判断も計算も表現するには、2値を組み合わせて新しい2値を作る規則が要る。それが論理演算で、回路としてはAND・OR・NOTの3種類の素子があれば足りることが分かっている。基本情報では真理値表とビットごとの計算の両方で問われる。後で学ぶマスク処理(必要なビットだけを残す加工)・サブネットマスク(IPアドレスのうちネットワークを表す部分を示す値)・パリティ計算(1の個数をそろえて誤りを見つける計算)は、すべてこの上に乗る。
具体例
1100 AND 1010=1000、1100 OR 1010=1110、1100 XOR 1010=0110となる。XORは同じ値どうしで必ず0になるため、同じ鍵で2回かければ元に戻る。この性質はRAID5(データと誤り訂正用のパリティを複数のディスクに分けて書く方式)のパリティ生成と復元に使われており、故障したディスクの内容を残りのディスクのXORで復元できる。
試験での引っ掛け
最頻出はORとXORの取り違えで、1と1のときORは1、XORは0になる。A XOR A=0、A XOR 0=Aという2つの性質を覚えていないと、パリティ復元やビット反転の設問で手が止まる。またNOTを「0にすること」と誤解しやすいが、NOTは反転なので0は1になる。
関連用語
出た過去問
出典:平成28年度 秋期 基本情報技術者試験 午前 問29(IPA)
“社員”表と“部門”表に対して,次のSQL文を実行したときの結果はどれか。 SELECT COUNT(*) FROM 社員, 部門 WHERE 社員.所属 = …
正解:3
要点:結合+条件のCOUNT(*)は条件を満たす行の組合せ数を数える
部門表でフロアが2なのは情報システム・経理・法務・購買である。社員表のうち所属がこれらに一致するのは、経理が1人、情報システムが2人で、法務と購買には所属する社員がいない。結合条件を満たす行は合計3行なのでCOUNT(*)は3となる。
出典:平成29年度 春期 基本情報技術者試験 午前 問3(IPA)
XとYの否定論理積X NAND Yは,NOT(X AND Y)として定義される。X OR YをNANDだけを使って表した論理式はどれか。
正解:(X NAND X) NAND (Y NAND Y)
要点:NANDだけでORは(X NAND X) NAND (Y NAND Y)
ド・モルガンの法則より X OR Y = NOT((NOT X) AND (NOT Y)) と書けます。NANDは1入力を同じ値でまとめると否定として働くので、NOT X は X NAND X、NOT Y は Y NAND Y で作れます。その2つをさらにNANDすれば NOT(NOT X AND NOT Y) となり、OR が得られます。
出典:平成30年度 秋期 基本情報技術者試験 午前 問2(IPA)
次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,他のビットを全て0にするアルゴリズムである。例えば,0010100…
正解:論理積(AND)
要点:A AND (A XOR (A-1)) で最下位の1ビットだけを抽出できる
1を引くと最右の1が0になり、その右側の0が全て1へ変わる。元の値との排他的論理和は最右の1とその右側だけが1のマスクになるため、これと元の値の論理積を取ると最右の1だけが残る。例では00101000と00001111の論理積で00001000となる。
出典・参考
公式シラバスの1 基礎理論 > 3. プログラミング > (1) プログラミングに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。