論理演算(OR・AND・XOR・NOT)【ITパスポート講座】

2020年2月14日

ITパスポート 論理演算

この記事で学ぶこと

  1. 論理和
  2. 論理積
  3. 排他的論理和 など

今回はITパスポート上で用いる論理演算について紹介します。

くろん
くろん
演算・・・難しそうにゃ
モナ
モナ
論理演算は少し特殊な考え方があるからしっかりと学習するニャ

論理演算

ITパスポート 論理演算

論理演算はコンピュータに特化した計算です。コンピュータの世界では計算することを演算と呼びます。小中高で習う計算(数学)は代数学と呼ばれ連続的な物でしたが、コンピュータは0と1の組み合わせでディジタルな表現を扱う事は前回までで学習しました。

足し算・引き算・掛け算・割り算と言った四則演算に加え、よく用いられる演算が論理演算で、1の状態を、0の状態をとして演算を行います。

具体的には論理和・論理積・排他的論理和・否定等がよく試験で問われます。

演算結果を表にまとめた真理値表と、演算結果を可視化したベン図をそれぞれ見比べながら確認していきましょう。

論理和(OR)

ITパスポート 論理和 OR

論理和は複数要素のうち、少なくとも1つが真(=1)であれば真となるような演算です。

他の表現としてはOR∪(カップ)として表現することもあります。

モナ
モナ
AとBのどっちかが1なら、演算結果のA∪Bも1になるニャ!

論理積(AND)

ITパスポート 論理積 AND

論理積は複数要素のうち、両方がの時のみ真になるような演算です。

他の表現としてはand∩(キャップ)として表現することもあります。

くろん
くろん
論理積は全部1じゃないと1にならないっぽいにゃ

排他的論理和(XOR)

ITパスポート 排他的論理和 XOR

排他的論理和では両方の値が異なる時に真に、同じ時には偽になる演算です。

別の表現としてはXORと表現することがあります。

キュー
キュー
“排他”は他を排除するってことやから独占してるかどうかで判断すればええで!

否定(NOT)

ITパスポート 否定 NOT

否定は真と偽を反転させる演算です。0は1に、1は0に変わります。別の表現はNOTです。

キュー
キュー
本の国旗を否定したらまさにこんな感じになるなぁ・・・
スポンサーリンク

論理演算の例題

実際に例題を解いて問題に慣れていきましょう。

問1

8ビットの2進データ X と 00001111 について,ビットごとの論理積をとった結果はどれか。ここでデータの左方を上位,右方を下位とする。(H.30秋/問79)

ア:下位4ビットが全て0になり,Xの上位4ビットがそのまま残る。
イ:下位4ビットが全て1になり,Xの上位4ビットがそのまま残る。
ウ:上位4ビットが全て0になり,Xの下位4ビットがそのまま残る。
エ:上位4ビットが全て1になり,Xの下位4ビットがそのまま残る。

(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問1の正解を表示
問1の解説を表示

論理積は2つの入力に対して以下のような出力を返す演算です。

A B AandB
0 0 0
0 1 0
1 0 0
1 1 1

そのため、入力されるデータXと00001111(=Yとする)を比較してみると、上位4ビット同士の演算では片方が0000のため、もう片方も0となります。

一方で以下4ビットの演算では片方が1111のため、もう片方が1である部分は1で、0である部分は0で表現されます。要するにそのままの値がA and Bになります。

具体的な例としてX1=10101010の場合とX2=00110011の2パターンを考えてみましょう。

X1 1 0 1 0 1 0 1 0
Y 0 0 0 0 1 1 1 1
and 0 0 0 0 1 0 1 0
X2 0 0 1 1 0 0 1 1
Y 0 0 0 0 1 1 1 1
and 0 0 0 0 0 0 1 1

となります。これを表現しているのは「ウ」です。

問2

任意の8ビットをデータXと,8ビットのデータ00001111をビットごとに排他的論理和をとった結果はどれか。データの左方を上位,右方を下位と呼ぶ。(H.22秋/問68)

ア:Xの上位4ビットすべての0,1が反転し,下位4ビットはすべて1になる。
イ:Xの上位4ビットすべての0,1が反転し,下位4ビットはそのまま残る。
ウ:Xの上位4ビットはすべて0で,下位4ビットすべての0,1が反転する。
エ:Xの上位4ビットはそのままで,下位4ビットすべての0,1が反転する。

(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問2の正解を表示
問2の解説を表示

排他的論理和は2つの入力に対して以下のような出力を返す演算です。

A B AxorB
0 0 0
0 1 1
1 0 1
1 1 0

こちらも理屈詰めで説明すると、上位ビットの0のところに関してはXの値がそのまま反映される一方、下位ビットの1のところは反転すると言った解釈になります。具体的にX=10101010として演算するのがおすすめです。

X 1 0 1 0 1 0 1 0
Y 0 0 0 0 1 1 1 1
xor 1 0 1 0 0 1 0 1

以上より、「エ」が正解です。

問3

次の真理値表で示される入力x,yに対する出力zが得られる論理演算式はどれか。(H.26春/問64)

x y z
0 0 1
0 1 0
1 0 0
1 1 0

ア:x AND y
イ:NOT(x AND y)
ウ:NOT(x OR y)
エ:x OR y

(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問3の正解を表示
問3の解説を表示

それぞれの選択肢を真理値表に書き出して見比べてみましょう。

ア:x AND y

x y z
0 0 0
0 1 0
1 0 0
1 1 1

⇒不一致なので不正解です。

イ:NOT(x AND y)

x y z
0 0 1
0 1 1
1 0 1
1 1 0

⇒不一致なので不正解です。

ウ:NOT(x OR y)

x y z
0 0 1
0 1 0
1 0 0
1 1 0

⇒一致しているので正解です。

エ:x OR y

解説の関係上先に表記します。ORも先ほど学習していますね。

x y z
0 0 0
0 1 1
1 0 1
1 1 1

⇒不一致なので不正解です。

論理演算のまとめ

今回は情報数学の論理演算について学習しました。

計算なので苦手意識を持たれる方も多いですが、慣れてしまうと100%得点できる分野になります。しっかりと押さえておきましょう!

くろん
くろん
頭で理解するより手を動かして体で慣れた方が早いにゃ!

次回は、組み合わせ順列について学習します。


本気でIパスを狙うなら・・・
スタディングがおすすめです!
  • お手頃価格で受講しやすい!
  • スマホ一台でどこでも勉強できる
  • AI問題演習機能で苦手な問題を効率よく学習!

オンライン資格講座 スタディング


スポンサーリンク