基本情報技術者試験 過去問解法 論理演算(問題2-1~2-3)

広告


論理演算の問題は、ベン図だけで解こうとすると複雑に感じることがあります。

今回は、試験で素早く解ける考え方で、問題2-1から2-3を解説します。


問題2-1 NANDだけでORを作る

問題

X OR Y をNANDだけで表したものはどれか。

この問題では、NANDの性質だけ覚えていれば解けます。

まず、

A NAND B
= NOT(A AND B)

です。

さらに重要なのが、

X NAND X
= NOT(X)

です。

これは、

X AND X = X

だからです。


選択肢イだけ見てみる

(X NAND X) NAND (Y NAND Y)

まず置き換えます。

NOT X NAND NOT Y

さらにNANDなので、

NOT(NOT X AND NOT Y)

になります。

ここでド・モルガンの法則を使うと、

NOT(NOT X AND NOT Y)
↓
X OR Y

となります。

問題文と一致したので、

答えは「イ」です。

試験では、ここで終了です。

他の選択肢を計算する必要はありません。




ベン図で考えてみる

問題2-2 AND演算はビットを1つずつ計算する

問題

16進数0FとのAND演算

まず、

0F
↓
00001111

へ変換します。

その後は、

ビットを縦に並べます。

10101010
00001111
──────── AND
00001010

CPUは、

1 AND 0
0 AND 1
1 AND 1

を8回繰り返しているだけです。


ANDの性質

覚えることは2つだけです。

○ AND 1
↓
そのまま残る
○ AND 0
↓
必ず0になる

つまり、

00001111

というビット列は、

上位4ビット
↓
消す

下位4ビット
↓
残す

という意味になります。

したがって、

答えは「ウ」です。



問題2-3 XORは1で反転する

問題

16進数FFとの排他的論理和(XOR)

まず、

FF
↓
11111111

です。

その後、

10101010
11111111
──────── XOR
01010101

となります。


XORの性質

覚えることは2つだけです。

○ XOR 0
↓
そのまま
○ XOR 1
↓
反転

つまり、

11111111

は、

すべてのビットを反転するマスク

になります。

したがって、

答えは「ウ」です。



この3問で覚えること

問題覚えること
問題2-1X NAND X = NOT X を利用して式を変形する
問題2-2AND 1 は残る、AND 0 は消える
問題2-3XOR 1 は反転、XOR 0 はそのまま

この3つだけ覚えておけば、基本情報技術者試験で出題される論理演算問題の多くに対応できます。


訪問数 4 回, 今日の訪問数 4回

広告