こんにちは

かりんです!

今日は論理演算についてまとめます!

 

 

🐧:論理演算ってなに?

🐍:論理演算とは

   0と1のみで行うコンピュータ用の計算方法だ

 

 

🐧:う~ん、よくわからないな

🐍:具体的に見ていこう

 

 

🐍:例えば、「論理和」とは

   0と0 なら 偽

   0と1 なら 真

   1と0 でも 真

   1と1 でも 真

   だ

 

 

🐧:真?偽?

🐍:真 = OK 偽 = NG くらいに思っとけ

🐧:おう!そうする!

 

 

🐧:でも、これがなんで「計算」なんだ?

🐍:真 = 1 で、偽 = 0 になるからだ

🐧:??意味が分からないぞ?

 

 

🐍:例えば、先ほどの「論理和」は

   0と0 が入力されたら0(偽)を出力する

   0と1 が入力されたら1(真)を出力する

   1と0 が入力されたら1(真)を出力する

   1と1 が入力されたら1(真)を出力する

 

 

🐍:これがコンピュータの計算だ

🐧:なるほどな

 

 

🐍:論理演算には

   論理和、論理積、否定

   の3つの種類がある

   計算は下の表のようになる

 

 == 論理和 ==

 

 

 == 論理積 ==

 

 == 否定 ==

 

🐍:これらの表は

   真理値表と呼ぶ

 

 

🐍:論理和は「OR演算」、

   論理積は「AND演算」、

   否定は「NOT演算」

   とも呼ばれる

 

 

🐧:これを全部覚えないといけないのか?

🐍:覚え方がある

   論理和

   足して0なら偽、足して1以上なら真

 

 

🐍:論理和は

   どちらかが1なら1だから

   OR演算

 

 

🐧:なら、論理積

   かけて0なら偽、かけて1なら真だな!

   どちらも1でないと1ではないから

   AND演算か!

 

 

 

🐍:そうだ

   否定反転させればいいだけだ

 

 

🐍:集合のベン図に対応させて

   覚えるのもいい

 

 

🐍:では8ビットの演算をするぞ

   A:1010 1100

   B:1111 0000

   上記の論理和の演算をしてみろ

 

 

🐧:ええ!?

   突然言われてもわかんないよ!

🐍:AとBの対応ビットを

   上から順に計算していくんだ

 

 

🐍:AとBの1番最初のビットはいくつだ?

🐧:1と1!

🐍:なら、その論理和は?

🐧:1だ!

 

 

🐍:同じように2番目、3番目と

   論理和を計算していくんだ

🐧:1、1、1、1 1、1、0、0

   正解は1111 1100 だな?

 

 

🐍:そうだ

   よくできたな

 

 

🐍:では同じ8bitの

   論理積の演算をしてみろ

   A:1010 1100

   B:1111 0000

 

🐧:えっと、

   かけて1になるものが真だから…

   1010 0000 だな?

 

 

🐍:正解だ

   また、計算の優先順位は

   NOT、AND、ORであることも

   覚えておいたほうがいい

 

 

🐍:慣れてきたところで

   排他的論理和について説明する

🐧:まだ論理演算に種類があったのか?

🐍:これは論理和、論理積、否定を使った演算なんだ

 

 

🐍:見たほうが早い

   排他的論理和は下図のような演算だ

   XOR、またはEOR演算とも呼ばれる

 


🐍:0と0の時、1と1の時に真

   1と0の時、0と1の時に偽になる

🐧:同じ数字の時に偽、

   違う数字の時は真になるんだな!

 

 

🐍:そうだ

🐧:これも覚え方があるのか?

🐍:引き算で覚えればいい

 

 

🐍:論理式では

   論理和を「+」

   論理積を「・」で表すことがある

   注意してくれ

 

🐍:論理演算を使うと

  ビット列を操作することが

  できるようになるんだ

 

 

🐧:ビット列の操作?

🐍:そうだ

 

 

🐍:ビットパターンを用意して

   論理演算を行うことで

   任意のビットパターンから

   情報を取り出したり

   加工したりすることができる

 

 

🐍:この用意するビットパターンのことを

   マスクと呼ぶ

 

 

 

🐍:では例題を出す

   下図の例題を解いてみてくれ

 

 

🐧:お?シンキングタイムだな!

  解説までスライドする前に

  これを読んでるあなたも

  考えてみてくれ!! 

 

 

🐍:ペンと紙を使用したほうが

   わかりやすいぞ

 

 

🐧:トロワ!ヒントをくれ!

🐍:優先順位は意識したほうがいい

 

 

🐍:では、そろそろ解説をするぞ?

   まずはベン図からだ

 

 

🐍:次に真理値表だ

 

 

🐧:なるほどな

   あなたは分かったか?

   俺はちょっと失敗してしまったぁ

🐍:復習しないとだな

 

 

🐍:次の問題に行くぞ

 

 

🐧:4択がきたな!

  これを読んでるあなたも

  解いてみてくれ!!

 

 

🐍:実際の基本情報技術者試験も

   4択だからな

   これも、慣れないうちは

   紙とペンがあった方がいい

 

 

🐧:う~ん…

   でも、これちょっと難しくないか?

🐍:甘えるな

   一つずつ考えていけば答えにたどり着ける

 

🐧:トロワ~(´;ω;`)

🐍:仕方ないな

   ヒントだ

 

 

🐧:これは…?

🐍:真理値表とベン図の対応表だ

   ヒントはここまでだ

 

 

🐍:そろそろ解説に進む

   解き方はベン図で解く方法と

   真理値表で解く方法がある

 

 

🐍:まずはベン図での解き方だ

 

🐍:次に全ての値を真理値表に

   書き込んで解く解き方だ

 

 

🐧:このベン図の書き方って

  どんな風に考えていけばいいんだ?

🐍:例えば「ア」だが、

   まずは()内の計算をする

 

🐍:A+B だからAとBの論理積だ

 

🐍:もう一つの()内のベン図は

   Aの否定とBの論理積だ

 

 

🐍:上のベン図の論理積はこうなる

 

🐍:この2つの論理和だから

  下のようなベン図になる

 

 

🐧:なるほどな

  これをイ~エまで

  繰り返していけばいいんだな

🐍:そうだ

 

 

🐍:次の問題にいくぞ

🐧:突然フォントが変わってないか?

🐍:これは書き手のかりんが悪い

  とにかく、読者のあなたも考えてくれ

 

 

🐧:論理演算には

  無条件に1にする論理演算、

  無条件に取り出す論理演算、

  反転させる論理演算が

  あったよな?

 

 

🐍;そうだ

   それを使えばいい

 

 

🐍:では解説をおこなうぞ

 

 

🐍:どうだ?

🐧:完璧だ!!

🐍:よし!

   今日は以上で閉講だ

   あなたもここまで読んでくれてありがとう

   また次回も読んでくれ

 

 

かりんです。

論理演算についての授業はどうでしたか?

次回もよろしくお願いします。