🌻天国にいけるC++言語入門🌻 進化し続けるオブジェクト指向プログラミング ver3.2307
論理演算子||について考察してみよう。論理演算子||は論理式と論理式を結び付けて新たな論理式を形成します
論理演算子||について考察してみよう。論理演算子||は論理式と論理式を結び付けて新たな論理式を形成します
マックス「じゃ
論理演算子||の働きについて考察してみようじゃないか」
ソーラー「マックス 論理演算子||とは
なんですか?」
マックス「論理演算子||はなあ。
論理演算子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のように
「または」
という意味をあらわしていません。
今日は静かに時が過ぎていきます。
・・・・・・・・・・・・・・・・・・・・・・・・・
今日もいい陽射しです・・・
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます