論理演算子||について考察してみよう。論理演算子||は論理式と論理式を結び付けて新たな論理式を形成します

マックス「じゃ


論理演算子||の働きについて考察してみようじゃないか」


ソーラー「マックス 論理演算子||とは


なんですか?」


マックス「論理演算子||はなあ。


論理演算子2重棒という意味でなあ。


論理式||論理式というように


使用するんだ


まあ、日本語でいうとな。


            🌞または🌞


ていう意味合いがあるんだぜぃ。


たとえばだな


論理式

100>1

0>100


のような2つの論理式があったとするだろう。」



ソーラー「はい😊はい😊」



マックス「それをだな。


100>1||0>100


のように


論理演算子||を用いて


つなげることができるんだ。


この100>1||0>100



また論理式となっていてな


論理式は


論理値0または1をもつことになるんだが


論理式


100>1||0>100



論理値1をもつことになるんだ


論理式

100>1は論理値1を持ち


論理式

0>100は論理値0を持つので


100>1||0>100



1||0


とかきあらわすことができるんだ


すごいだろう。


ここからが本番だ!


1||0


の||は


       または


の意味をもっているといったが


ちょっとだけちがう


1||0



左辺に1

右辺に0


をもっているだろう。


この論理演算子||はなあ


論理演算子||が使われた論理式の


左辺または右辺に1があれば


1を表すという仕組みになっているのだ。」


ぶーにゃん「にゃあ???


||は


       または


の意味をもっているような気がするにゃ~ん🐈


なぜ左辺または右辺に1があれば


1を表すのかにゃ?」


マックス「ちが~う


もし

論理式

1||0


の||が


        『または』


の意味をもっているなら



論理式

1||0



1または0


の値をもつことになるだろう?


しかし実際には


論理式は0か1のどちらかの値しか持たない仕組み


となっているので


0か1の値どちらか1つだけを


論理式

1||0


はもつことになる。」


ソーラー「うおぉ


ほんとだ!」


マックス「ここが論理演算子||の面白いところで



もし


0か1の値を


論理式

1||0


がもつことになったなら


論理式

1||0

1の値をもっているのか?

0の値をもっているのか?


自分で

判断できないだろう


ははははははっは~~~」


ソーラー「あっあああああああ


おいしいところぉぉぉぉぉぉぉぉっ」


マックス「どうだ


0か1の値を


論理式

1||0


はもつことになったとしたら


論理式

1||0



1の値をもっているのか?

0の値をもっているのか?


判断できるか?」




     読者のみなさんも考えてみてね




ぶ~にゃん「にゃああ~~~」



ソーラー「うぉぉ~


お・お・お


論理式

1||0は1の値をもつのか?


論理式

1||0は0の値をもつのか?


1||0が


1または0をあらわすなら


1||0が


どっちの値をもつのか決めきれない・・・」


ぶ~にゃん「😸にゃあ~~んん」



マックス「ふっ そうだろ


そうおもうだろぉ~


さっきもいったとおり


この論理演算子||は


論理演算子||が使われた論理式の


左辺または右辺に1があれば


1を表すという仕組みになっているのだ。


だから


論理式

1||0


は論理値1の値をもつのだ。


同様の理由で


論理式

0||1

1||0

1||1


すべて


1の値をもつことになっている。」


ソーラー「なるほど そんな仕組みになっているとは・・・・・」


マックス「そして


論理式

0||0


左辺または右辺も


0となっているので


論理式

0||0


素直に


0の値をとるときめられているんだ


まあ


論理式

0||0


左辺または右辺も


0となっているので


0の値をもつしかないような気はするなあ」









||は論理式と論理式をむすびつけ


1>5||12>6


のような新しい論理式を生成します。


1>5||12>6 


このように論理演算子||で結び付けられた論理式も


論理式なので


論理値 真1や偽0 のいずれかの値をもちます。ですか・・・・・


いくらでも複雑な論理式が生成できそうですの・・


なんだか・・・



?どこかでみたような文章のような・・・



そういえば


数学の世界でおなじような構造を持つ論理和というものを


みかけたことがあります。



ここでプログラム内における


||は、数学における論理和のような または、という意味でありません。


数学においては


AUB(AまたはB)という論理和は 


AまたはB いずれかの状態である、という状態をあらわしています。


ですが


A||Bという論理式はAまたはBである、という状態をあらわしていません。


ここで


A||Bという論理式を理解するために


1>5||12>6という具体的な論理式を例に見ながら


A||Bという論理式を観察していきましょう。


1>5||12>6という論理式において


1>5は論理的に偽であり数値0の値をもち


12>6は論理的に真となって数値1の値をもっています。


よって


1>5||12>6は


0||1


という状態の論理式をあらわしています。


ここで


論理式0||1を0U1のような和集合ととらえますと


論理式0||1は


数値0または数値1であるという状態をあらわす論理式になります。


ですが



「コンピュータープログラムの論理式は0か1のいずれかの値しかもたないため 」



論理式0||1も0か1の値しかとることができません。




ちゅん、ちゅん(^^)🐤




♬~ ♪~ ♬~ ♪




?なにかな・・・音楽がきこえてきます。



この場合


論理式0||1は


0の値をもつのでしょうか?


それとも


1の値をもつのでしょうか?


この場合は


1の値を持っている状態となっています


つまり


論理式0||1は真の値である数値1の値をもちます。


論理式0||1以外にも


論理演算子||による


論理式||論理式のくみあわせによってつくられる論理式は


論理式 0||0 


論理式 0||1 


論理式 1||0


論理式 1||1


全部でこれら4通りの組み合わせになります。


そして論理式は0か1のいずれかの値をもつので


論理式 0||0 


論理式 0||1 


論理式 1||0


論理式 1||1


も0か1のいずれかの値をもつことになります。



では、では(^^)/ ここで


論理式 0||0 


論理式 0||1 


論理式 1||0


論理式 1||1


のもつ値をそれぞれ見ていきましょう。


さあ、どのような値をもつのでしょうか?


答えは


論理式 0||0は数値0の値をとります。


論理式 0||1は数値1の値をとります。


論理式 1||0 は数値1の値をとります。


論理式 1||1 は数値1の値をとります。



もし論理演算子||が 和集合Uのように


「または」 


という意味をあらわすのであれば




論理式

0||1

1||0

は 

0

または

1

の状態をもつことになるのですが



コンピュータプログラムにおいては


論理式

0||1

1||0

論理的に真であり数値1の値をとるときめられています。


よって


論理演算子||は 数学における和集合Uのように


「または」 


という意味をあらわしていません。




今日は静かに時が過ぎていきます。




・・・・・・・・・・・・・・・・・・・・・・・・・




今日もいい陽射しです・・・

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る