論理演算の解説(ITパスポートシラバス用語)

目次

論理演算とは

論理演算(ろんりえんざん)とは、「真(True、1)」と「偽(False、0)」の2つの値だけを使って行う、コンピュータの基本的な計算(判断)方法です。コンピュータの頭脳であるCPUは、すべての複雑な計算を、この論理演算の組み合わせによって超高速で行っています。代表的な演算には「AND(論理積)」「OR(論理和)」「NOT(否定)」の3つがあります。

日常の会話で言う「もし〜かつ〜ならば」や「もし〜または〜ならば」という条件判定を、厳密な数学的ルールにしたものです。プログラミングで処理の条件分岐(もし条件Aなら処理Xをする、違えば処理Yをする)を作るときに不可欠な知識です。

具体例

スマートフォンの目覚ましアプリにおける論理演算の使われ方の例です。

  • AND(かつ):「設定時間が来た(真)」かつ「マナーモードではない(真)」の両方が満たされたときだけ、アラーム音を鳴らす。
  • OR(または):「設定時間が来た(真)」または「緊急アラーム信号を受信した(真)」のどちらか一方でも満たされれば、画面を点灯させる。
  • NOT(〜ではない):「画面ロックがかかっていない(真の否定=偽)」のときに、ホーム画面を表示する。

もう少し詳しく

論理演算は、イギリスの数学者ジョージ・ブールが体系化した「ブール代数」に基づいています。コンピュータのCPU内部にある電子回路(半導体回路)は、「論理ゲート」と呼ばれるハードウェアで構成されており、物理的な電圧の有無(高電圧を1、低電圧を0とする)によってAND、OR、NOTなどの演算を物理的に行っています。これらを複雑に組み合わせることで、数値の加算を行う「加算器」などの回路が作られ、最終的に複雑なプログラムの実行が可能になります。プログラミングにおいても、複数の条件を判定する条件式などで論理演算が日常的に使用されており、複雑な論理式を整理する「ド・モルガンの法則」などの数学的定理も役立っています。論理演算は、プログラミング言語の条件分岐だけでなく、データベースの検索(SQLのWHERE句におけるANDやORによる複数条件指定)や、ネットワークのルーティング(IPアドレスとサブネットマスクのAND演算によってネットワークアドレスを算出する処理)など、ITインフラの根底でも多用されています。

試験でのポイント

試験では、基本的な論理演算(AND、OR、NOT)に加えて、「XOR(排他的論理和)」の動作についてよく問われます。XORは「2つの入力が異なるときに1(真)を出力し、同じときに0(偽)を出力する」という特徴的な演算です。また、入力と出力の関係を表した「真理値表(しんりちひょう)」の空欄を埋める問題や、回路図(論理回路)を見て出力結果を導き出す問題もパターン化されています。それぞれの演算における1と0の組み合わせによる結果パターンを整理して暗記することが重要です。「AND」「OR」「NOT」に加えて、「XOR(排他的論理和)」の挙動に関する問題が頻出します。

関連する用語

真理値表、XOR、論理回路、ド・モルガンの法則、NAND

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ