数学者**ジョージ・ブール(George Boole)**にちなんで名付けられたブール代数は、すべてのデジタル回路の礎です。ブール代数では、**真(1)または偽(0)**の2つの状態しか取らない変数を扱います。2つの入力変数 A と B を考えるとき、入力の組み合わせは (0, 0)、(0, 1)、(1, 0)、(1, 1) の4通りしかありません。
これら4通りの入力の組み合わせそれぞれに対して、出力は 0 または 1 のいずれかになるため、一意なブール関数の総数は 通りとなります。
この記事では、これら16の基本的な論理演算を、デジタル設計における複雑さと重要度ごとに分類して解説します。
各関数を理解するために、まず入力のパターンを定義しておきましょう。
| A | B |
|---|---|
| 0 | 0 |
| 0 | 1 |
| 1 | 0 |
| 1 | 1 |
16個の関数は、最も単純な定数関数から最も複雑な排他的論理ゲートまで、その出力パターンに基づいていくつかのカテゴリに分類できます。ここでは関数の出力を と表します。
これらの関数は入力を完全に無視し、常に同じ出力を返します。
| 関数名 | 論理式 | A=0, B=0 | A=0, B=1 | A=1, B=0 | A=1, B=1 | 説明 |
|---|---|---|---|---|---|---|
| ゼロ(FALSE) | 0 | 0 | 0 | 0 | 常に 0 を出力します。 | |
| イチ(TRUE) | 1 | 1 | 1 | 1 | 常に 1 を出力します。 |
これらの関数は、どちらか一方の入力のみに依存し、それをそのまま出力するか反転して出力します。
| 関数名 | 論理式 | A=0, B=0 | A=0, B=1 | A=1, B=0 | A=1, B=1 | 説明 |
|---|---|---|---|---|---|---|
| Aの伝達(Transfer A) | 0 | 0 | 1 | 1 | 出力はそのまま A になります。 | |
| Bの伝達(Transfer B) | 0 | 1 | 0 | 1 | 出力はそのまま B になります。 | |
| NOT A | 1 | 1 | 0 | 0 | 出力は Aの反転 になります。 | |
| NOT B | 1 | 0 | 1 | 0 | 出力は Bの反転 になります。 |
これらは、デジタルシステムで普遍的に使用される主要な論理ゲートです。
| 関数名 | 論理式 | A=0, B=0 | A=0, B=1 | A=1, B=0 | A=1, B=1 | 一般的なゲート |
|---|---|---|---|---|---|---|
| AND(論理積) | 0 | 0 | 0 | 1 | A と B の両方が 1 のときのみ 1。 | |
| OR(論理和) | 0 | 1 | 1 | 1 | A または B(あるいは両方)が 1 のとき 1。 | |
| NAND(否定論理積) | 1 | 1 | 1 | 0 | A と B の NOT-AND。(万能ゲート) | |
| NOR(否定論理和) | 1 | 0 | 0 | 0 | A と B の NOT-OR。(万能ゲート) |
これらの関数は、算術回路(加算器など)や入力の比較において極めて重要です。
| 関数名 | 論理式 | A=0, B=0 | A=0, B=1 | A=1, B=0 | A=1, B=1 | 説明 |
|---|---|---|---|---|---|---|
| XOR(排他的論理和) | 0 | 1 | 1 | 0 | A と B が異なるとき 1。 | |
| XNOR(同値) | 1 | 0 | 0 | 1 | A と B が同じとき 1。 |
これらの関数は一般的なデジタル論理回路ではあまり直接使われませんが、高度な論理設計や特定の形式体系において重要な役割を果たします。
| 関数名 | 論理式 | A=0, B=0 | A=0, B=1 | A=1, B=0 | A=1, B=1 | 説明 |
|---|---|---|---|---|---|---|
| A ならば B(論理包含) | 1 | 1 | 0 | 1 | A が 1 かつ B が 0 のときのみ偽(0)。 | |
| B ならば A | 1 | 0 | 1 | 1 | B が 1 かつ A が 0 のときのみ偽(0)。 | |
| A ならばBの否定(非包含) | 0 | 0 | 1 | 0 | A が 1 かつ B が 0 のときのみ真(1)。 | |
| B ならばAの否定 | 0 | 1 | 0 | 0 | A が 0 かつ B が 1 のときのみ真(1)。 |
これら16個の関数の中で最も興味深い点は、たった1種類のゲートだけで他のすべての関数を構築できるものが2つ存在することです。それが NAND ゲートと NOR ゲートです。
この性質ゆえに、NAND ゲートと NOR ゲートは**万能ゲート(ユニバーサルゲート)**と呼ばれています。たった1種類のゲートだけを使ってコンピュータ全体を構築できるため、集積回路(IC)の製造プロセスを大幅に簡素化することができるのです。
この表は、4つの入力の組み合わせに対する出力結果に基づいて、全16関数を一覧にまとめたものです。
| F# | (0,0) | (0,1) | (1,0) | (1,1) | 関数名 | 論理式 | 一般的なゲート |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | ゼロ(Zero) | (定数) | ||
| 1 | 0 | 0 | 0 | NOR | NOR | ||
| 0 | 1 | 0 | 0 | B ならばAの否定 | |||
| 0 | 0 | 1 | 1 | Aの伝達 | |||
| 0 | 0 | 1 | 0 | A ならばBの否定 | |||
| 0 | 1 | 0 | 1 | Bの伝達 | |||
| 0 | 1 | 1 | 0 | XOR | XOR | ||
| 1 | 1 | 1 | 0 | NAND | NAND | ||
| 0 | 0 | 0 | 1 | AND | AND | ||
| 1 | 0 | 0 | 1 | XNOR | XNOR | ||
| 1 | 0 | 1 | 0 | NOT B | NOT | ||
| 1 | 0 | 1 | 1 | B ならば A | |||
| 1 | 1 | 0 | 0 | NOT A | NOT | ||
| 1 | 1 | 0 | 1 | A ならば B | |||
| 0 | 1 | 1 | 1 | OR | OR | ||
| 1 | 1 | 1 | 1 | イチ(One) | (定数) |
2つのシンプルなバイナリ入力から導き出されるこれら16の論理関数は、あらゆる計算処理の完全な語彙(ボキャブラリー)を形成しており、最も単純な基礎から驚くほど複雑なシステムを構築できることを示しています。
カウエの生き方のオフライン版を入手しましょう——🍏 健康、💰 富、❤️ 愛、🧘 意味を最適化するための実践ガイドです。
新しいエッセイ、本の要約、より良く生きるための実践ガイドを公開した際にお知らせします。スパムはありません——いつでも配信停止できます。
質問、ご意見、提案はありますか?ぜひ下であなたの考えを共有してください。コメント欄は GitHub Discussions(広告なし・スパムなし)を利用しています——下の GitHub でサインイン をクリックしてコメントやリアクションを残してください(無料の GitHub アカウントは1分未満で作成できます)。
最終更新日: 2025/11/27.
免責事項:当サイトのコンテンツは情報提供および教育のみを目的としており、医療、心理、金融、投資、税務、または法律上の助言を構成するものではありません。ここに掲載されている考え、キュレーション、意見はすべて私個人のものであり、雇用主の見解を代表するものではありません。書籍、講演、記事の要約は独立した教育的な解説であり、それぞれの著者の知的財産です。編集、フォーマット、要約の補助としてAIツールを使用する場合がありますが、正確性を期すよう努めているものの誤りが含まれる可能性があります。プライバシー:当サイトでは、任意のニュースレター購読(follow.it)、コメント機能(giscus / GitHub Discussions)、および埋め込みメディア(YouTube)に外部サービスを利用しており、これらのサービスはそれぞれのプライバシーポリシーに従って訪問者のIPアドレスやCookieを処理する場合があります。