論理演算
前の章で学んだ命題や真理値表の考え方を発展させたのが論理演算です。論理演算は、コンピュータの内部で条件判定や計算を行うための基本的な仕組みであり、プログラムの条件分岐(if文)やデータベースの検索条件、さらには電子回路の設計にも直結しています。
論理演算とは
Section titled “論理演算とは”論理演算とは、真(1)と偽(0)の2つの値だけを対象にした演算です。コンピュータは電気信号のON(1)/ OFF(0)で動作するため、論理演算はコンピュータの最も基本的な処理です。
基本的な論理演算には、AND(論理積)、OR(論理和)、NOT(否定)、XOR(排他的論理和)の4つがあります。
AND(論理積)
Section titled “AND(論理積)”AND(論理積)は、すべての入力が真(1)のときだけ結果が真(1)になる演算です。日本語では「かつ」に相当します。
| A | B | A AND B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
身近な例で考えると、「ユーザー名が正しい かつ パスワードが正しい」の両方を満たしたときだけログインできるのがANDの考え方です。どちらか一方でも間違っていればログインできません。
集合で学んだ積集合(A ∩ B)は、ANDに対応します。
OR(論理和)
Section titled “OR(論理和)”OR(論理和)は、少なくとも1つの入力が真(1)であれば結果が真(1)になる演算です。日本語では「または」に相当します。
| A | B | A OR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
身近な例では、「学生証を持っている または 65歳以上である」のどちらかを満たせば割引が適用されるような場面がORの考え方です。
集合で学んだ和集合(A ∪ B)は、ORに対応します。
NOT(否定)
Section titled “NOT(否定)”NOT(否定)は、入力の真偽を反転させる演算です。真(1)を偽(0)に、偽(0)を真(1)に変えます。
| A | NOT A |
|---|---|
| 0 | 1 |
| 1 | 0 |
NOTは他の演算と異なり、入力が1つだけの演算(単項演算)です。
集合で学んだ補集合(Ā)は、NOTに対応します。
XOR(排他的論理和)
Section titled “XOR(排他的論理和)”XOR(排他的論理和、エクスクルーシブ・オア)は、2つの入力が異なるときだけ結果が真(1)になる演算です。「どちらか一方だけが真」のときに真となります。
| A | B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
ORとの違いに注目しましょう。ORは「両方とも真」のときも真になりますが、XORは「両方とも真」のときは偽になります。
| 入力 | OR | XOR |
|---|---|---|
| A=0, B=0 | 0 | 0 |
| A=0, B=1 | 1 | 1 |
| A=1, B=0 | 1 | 1 |
| A=1, B=1 | 1 | 0 |
身近な例では、「和食か洋食のどちらか一方を選べる定食セット」がXORの考え方です。両方選ぶことはできません。
試験で出るポイント
4つの論理演算のまとめ
Section titled “4つの論理演算のまとめ”| 演算 | 記号 | 意味 | 結果が1になる条件 | 集合との対応 |
|---|---|---|---|---|
| AND | ∧ | かつ | すべての入力が1 | 積集合(∩) |
| OR | ∨ | または | 少なくとも1つが1 | 和集合(∪) |
| NOT | ¬ | でない | 入力が0 | 補集合(Ā) |
| XOR | ⊕ | 排他的論理和 | 入力が異なる | − |
論理演算の活用 ── 条件検索
Section titled “論理演算の活用 ── 条件検索”論理演算は、データベースやWeb検索エンジンの条件検索で日常的に使われています。
たとえば、ある企業の社員データベースから特定の条件で社員を検索する場面を考えてみましょう。
| 検索条件 | 使う論理演算 | 意味 |
|---|---|---|
| 部署が「営業」AND 勤続年数が「5年以上」 | AND | 両方の条件を満たす社員 |
| 資格が「基本情報」OR 資格が「ITパスポート」 | OR | どちらかの資格を持つ社員 |
| NOT 部署が「管理」 | NOT | 管理部以外の社員 |
Web検索でも同様の考え方が使われています。Googleなどの検索エンジンで複数のキーワードをスペースで区切って入力すると、通常はAND検索(すべてのキーワードを含むページ)として処理されます。
検索条件の組み合わせ例
Section titled “検索条件の組み合わせ例”「プログラミング経験があり、かつ、英語または中国語ができる社員」を検索する場合、次のように条件を組み合わせます。
プログラミング AND(英語 OR 中国語)
このように、括弧を使って演算の優先順位を明示することで、複雑な条件も正確に表現できます。
試験で出るポイント