こんにちは
かりんです!
今日は論理演算についてまとめます!
🐧:論理演算ってなに?
🐍:論理演算とは
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にする論理演算、
無条件に取り出す論理演算、
反転させる論理演算が
あったよな?
🐍;そうだ
それを使えばいい
🐍:では解説をおこなうぞ
🐍:どうだ?
🐧:完璧だ!!
🐍:よし!
今日は以上で閉講だ
あなたもここまで読んでくれてありがとう
また次回も読んでくれ
かりんです。
論理演算についての授業はどうでしたか?
次回もよろしくお願いします。