「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ブール演算

pointこの用語のポイント

point計算(演算)だよ

point「真(true)」になるか「偽(false)」になるか判定するよ

point値は「真(true)」か「偽(false)」しか出てこないよ

スポンサーリンク

簡単に書くよ

ブール演算(読:ブールエンザン 英:Boolean operation)とは

「論理演算」のこと。
用語の中身としては

計算(演算)の種類のひとつ
であり

「真(true)」と「偽(false)」のどっちになるかな?を判定する演算
です。


image piyo

詳しく書くよ

サクっと一言で説明すると

true」と「false」のどっちになるか判定する演算

が「ブール演算」です。
論理演算」とも呼ばれます……というか個人的には「論理演算」という言い方の方が馴染みがあります。

ブール演算

普通の足し算とか引き算では数字が出てきますよね。

ブール演算2

ブール演算では数字は出てきません。
出てくる値は「真(true)」と「偽(false)」だけです。

ブール演算3

ただし、コンピュータの世界では

1:真(true)
0:偽(false)


と見なすことが多かったりします。
例えば

1 AND 0

であれば

真 AND 偽

を意図しています。

ブール演算4

※あくまで「見なすことが多い」というだけで実際には決めの問題です。例えば「0:真」「1:偽」として扱うという独自ルールを決めていることもあり得ます。

ブール演算で出てくる値は「真(true)」と「偽(false)」だけです。
計算結果も「真(true)」と「偽(false)」のどちらかになります。

ブール演算5

「演算」というと値に対して何かするイメージを持つでしょうけどね。
あまり、そのイメージにとらわれない方が良いと思います。

何かがあります。
それに対して何かをします。
その結果が「真(true)」になるか「偽(false)」になるか判定するのがブール演算です。

……と言葉でゴチャゴチャ説明されても分かりにくいですかね。

ブール演算で よく出てくるのは

OR(論理和)
AND(論理積)
NOT(論理否定)
XOR(排他的論理和)


の4つです。
この4つを押さえておけば、そんなに困ることはないはずです。

ブール演算6

順番に見ていきましょう。

OR(論理和)は「複数の命題のうち、1つ以上が真であれば真、そうでなければ偽と判定するブール演算」です。
「1つでも正しければ良いよ」と0点以外は認めてくれるやつです。

ブール演算7

試しに2つの値の組み合わせで考えてみましょう。
ブール演算において、2つの値の組み合わせは

1.「0(偽)」-「0(偽)
2.「0(偽)」-「1(真)
3.「1(真)」-「0(偽)
4.「1(真)」-「1(真)


の4パターンあり得ます。

ブール演算8

それぞれの論理和は

1.「0(偽)」OR「0(偽)」→「0(偽)」
2.「0(偽)」OR「1(真)」→「1(真)」
3.「1(真)」OR「0(偽)」→「1(真)」
4.「1(真)」OR「1(真)」→「1(真)」


です。

ブール演算9

1つでも「1(真)」だったら「1(真)」になります。

ブール演算10

AND(論理積)は「複数の命題のうち、すべて真であれば真、そうでなければ偽と判定するブール演算」です。
「全部正しくないとダメだよ」と100点満点しか認めてくれないやつです。

ブール演算11

試しに2つの値の組み合わせで考えてみましょう。
ブール演算において、2つの値の組み合わせは

1.「0(偽)」-「0(偽)
2.「0(偽)」-「1(真)
3.「1(真)」-「0(偽)
4.「1(真)」-「1(真)


の4パターンあり得ます。

ブール演算12

それぞれの論理積は

1.「0(偽)」AND「0(偽)」→「0(偽)」
2.「0(偽)」AND「1(真)」→「0(偽)」
3.「1(真)」AND「0(偽)」→「0(偽)」
4.「1(真)」AND「1(真)」→「1(真)」


です。

ブール演算13

すべて「1(真)」の場合のみ「1(真)」になります。

ブール演算14

NOT(論理否定)は「命題が真であれば偽、偽であれば真と判定するブール演算」です。
身も蓋もない言い方をすると「逆にするよ」なやつです。
0点(NG)だったら100点(OK)になります。
100点(OK)だったら0点(NG)になります。

ブール演算15

試しに「1(真)」と「0(偽)」で考えてみましょう。
論理否定すると

1.「0(偽)」→「1(真)」
2.「1(真)」→「0(偽)」


に なります。

ブール演算16

逆になっていますよね。

XOR(排他的論理和)は「2つの命題のうち、1つだけが真であれば真、そうでなければ偽と判定するブール演算」です。
例えば1問50点の問題が2問あるテストで50点のときだけ認めてくれるやつです。

ブール演算17

試しに2つの値の組み合わせで考えてみましょう。
ブール演算において、2つの値の組み合わせは

1.「0(偽)」-「0(偽)
2.「0(偽)」-「1(真)
3.「1(真)」-「0(偽)
4.「1(真)」-「1(真)


の4パターンあり得ます。

ブール演算18

それぞれの排他的論理和は

1.「0(偽)」XOR「0(偽)」→「0(偽)」
2.「0(偽)」XOR「1(真)」→「1(真)」
3.「1(真)」XOR「0(偽)」→「1(真)」
4.「1(真)」XOR「1(真)」→「0(偽)」


です。

ブール演算19

片方だけが「1(真)」だったら「1(真)」になります。

ブール演算20

ここまで4つのブール演算を見ました。
出てきた値は「1(真)」と「0(偽)」だけです。
計算結果は全部「1(真)」と「0(偽)」のどちらかになりました。

このような

なんかゴチャゴチャやった結果が「真(true)」になるか「偽(false)」になるか判定する演算

がブール演算です。

あとは、そこから派生してなのか何なのか「2つの物の重なった部分を切り抜いたり合体させたりする機能」を指して「ブール演算」と表現していることがあるようです。
2つの物の重なった部分に対してブール演算をするという意味合いですかね。
一応、頭の片隅にでも置いておいてあげてください。

以上でブール演算の大雑把な(?)説明は終わりですが、せっかくなので「否定論理和(NOR)」と「否定論理積(NAND)」にも触れておきます。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。

休め

あっ、読んでくださるのですね。
ありがとうございます。

それでは、いってみましょう。

否定論理和(NOR)は「複数の命題のうち、すべて偽であれば真、そうでなければ偽と判定するブール演算」です。
「全部間違っていないとダメ」な0点しか認めてくれないやつです。

ブール演算21

パッと見では難しく思えるかもしれませんけどね。
実際には、そこまで難しくありません。
否定論理和は

「論理和(OR)」を「論理否定(NOT)」したやつ

です。

試しに2つの値の組み合わせで考えてみましょう。
ブール演算において、2つの値の組み合わせは

1.「0(偽)」-「0(偽)
2.「0(偽)」-「1(真)
3.「1(真)」-「0(偽)
4.「1(真)」-「1(真)


の4パターンあり得ます。

ブール演算22

それぞれの論理和は

1.「0(偽)」OR「0(偽)」→「0(偽)」
2.「0(偽)」OR「1(真)」→「1(真)」
3.「1(真)」OR「0(偽)」→「1(真)」
4.「1(真)」OR「1(真)」→「1(真)」


です。

ブール演算23

これを論理否定するのです。
「1(真)」と「0(偽)」を逆にします。

そうすると

1.「0(偽)」OR「0(偽)」→「0(偽)」→「1(真)」
2.「0(偽)」OR「1(真)」→「1(真)」→「0(偽)」
3.「1(真)」OR「0(偽)」→「1(真)」→「0(偽)」
4.「1(真)」OR「1(真)」→「1(真)」→「0(偽)」


に なります。

ブール演算24

いかがでしょう。
「1(真)」を含まない

1.「0(偽)」-「0(偽)

の組み合わせのみ「1(真)」になりましたよね。

ブール演算25

このような

論理和を論理否定したやつ

が否定論理和です。

否定論理積(NAND)は「複数の命題のうち、ひとつでも偽であれば真、そうでなければ(すべて真なら)偽と判定するブール演算」です。
「全部正しかったらダメ」な100点満点は認められないやつです。

ブール演算26

パッと見では難しく思えるかもしれませんけどね。
実際には、そこまで難しくありません。
否定論理積は

「論理積(AND)」を「論理否定(NOT)」したやつ

です。

試しに2つの値の組み合わせで考えてみましょう。
ブール演算において、2つの値の組み合わせは

1.「0(偽)」-「0(偽)
2.「0(偽)」-「1(真)
3.「1(真)」-「0(偽)
4.「1(真)」-「1(真)


の4パターンあり得ます。

ブール演算27

それぞれの論理積は

1.「0(偽)」AND「0(偽)」→「0(偽)」
2.「0(偽)」AND「1(真)」→「0(偽)」
3.「1(真)」AND「0(偽)」→「0(偽)」
4.「1(真)」AND「1(真)」→「1(真)」


です。

ブール演算28

これを論理否定するのです。
「1(真)」と「0(偽)」を逆にします。

そうすると

1.「0(偽)」AND「0(偽)」→「0(偽)」→「1(真)」
2.「0(偽)」AND「1(真)」→「0(偽)」→「1(真)」
3.「1(真)」AND「0(偽)」→「0(偽)」→「1(真)」
4.「1(真)」AND「1(真)」→「1(真)」→「0(偽)」


に なります。

ブール演算29

いかがでしょう。
「0(偽)」を含まない

4.「1(真)」-「1(真)

の組み合わせのみ「0(偽)」になりましたよね。

ブール演算30

このような

論理積を論理否定したやつ

が否定論理積です。

否定論理和(NOR)も否定論理積(NAND)もブール演算です。
ただし、どちらも複数のブール演算の複合体です。
よって

・OR(論理和)
・AND(論理積)
・NOT(論理否定)
・XOR(排他的論理和)


の4つを押さえておけば、そんなに困らないわけです。


image piyo2

一言でまとめるよ

まぁ「ブール演算」って単語が出てきたら「『真(true)』と『偽(false)』のどっちになるか判定する演算なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像068
書籍画像004

おまけ

■訳してみるよ

「ブール」は人の名前です。
「George Boole(ジョージ・ブール)」さんです。
「演算」は日本語ですね。
何となく くっつけると

ブールさんの演算

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
サイバーセキュリティお嬢様と学ぶ 情報セキュリティの基本