《機械》〈情報伝送及び処理〉[H21:問14]論理演算及び2進数と16進数の変換に関する計算問題

【問題】

【難易度】★★★☆☆(普通)

 2 進数 A  B が, A=(1100 0011)2  B=(1010 0101)2 であるとき, A  B のビットごとの論理演算を考える。 A  B の論理積 (AND)  16 進数で表すと  (ア)   A  B の論理和 (OR)  16 進数で表すと  (イ)   A  B の排他的論理和 (EXOR)  16 進数で表すと  (ウ)   A  B の否定的論理積 (NAND)  16 進数で表すと  (エ)  となる。

上記の記述中の空白箇所(ア),(イ),(ウ)及び(エ)に当てはまる数値として,正しいものを組み合わせたのは次のうちどれか。
(1) (81)16  (E7)16  (66)16  (18)16 (2) (81)16  (E7)16  (66)16  (7E)16 (3) (81)16  (E7)16  (99)16  (18)16 (4) (E7)16  (81)16  (66)16  (7E)16 (5) (E7)16  (81)16  (99)16  (18)16 

【ワンポイント解説】

論理回路の演算と進数の変換の両方の知識を問う問題です。
非常に出題頻度の高い分野となるため,確実に理解し,できれば素早く解けるようになりましょう。このままの再出題も十分想定される問題かと思います。

1.主な論理回路の真理値表
基本的な論理回路と図記号は覚える必要がありますので,以下の真理値表を覚えておきましょう。

 AND 回路
論理積といい,すべての入力が 1 の時のみ 1 が出力される回路で,真理値表と図記号は以下の通りです。
 A  B   000010100111

 OR 回路
論理和といい,入力が一つでも 1 の時 1 が出力される回路で,真理値表と図記号は以下の通りです。
 A  B   000011101111

 NOT 回路
論理否定といい,入力を反転する回路で,真理値表と図記号は以下の通りです。
 A   0110

 NAND 回路
 NOT+AND  AND  NOT を出力,すなわちすべての入力が 1 の時のみ 0 が出力される回路で,真理値表と図記号は以下の通りです。
 A  B   001011101110

 NOR 回路
 NOT+OR  OR  NOT を出力,すなわち入力が一つでも 1 の時 0 が出力される回路で,真理値表と図記号は以下の通りです。
 A  B   001010100110

 XOR 回路
排他的論理和 (exclusive or) といい,入力が異なるとき 1 ,入力が同じ時 0 が出力される回路で,真理値表と図記号は以下の通りです。
 A  B   000011101110

2.主な進数の対応表
コンピュータ等のディジタル信号は主に 2 進数が使用されるため,電験でも基数変換は出題されます。
電験で出題される 2 進数, 8 進数, 10 進数, 16 進数の対応表は下表の通りとなります。表を覚えるのではなくルールを理解するようにしましょう。
 2   8   10   16  000011111022211333100444101555110666111777100010881001119910101210A10111311B11001412C11011513D11101614E11111715F10000201610

3. 10 進数から 2 進数への変換
 10 進数から 2 進数への変換は, 2 で割った余りを下から順に並べると求められます。
具体的に 10 進数の (30)10  2 進数へ変換すると,
2)302)1502)712)312)1101

ゆえに,
(30)10=(11110)2
となります。 8 進数や 16 進数への変換も同様に行うことができます。

4. 2 進数から 10 進数への変換
 2 進数を 10 進数にするためには各桁に 2x(x=0,1,2) 乗をかけて導出できます。
例えば, 2 進数の (101010)2  10 進数へ変換すると,
(101010)2=1×25+0×24+1×23+0×22+1×21+0×20=32+0+8+0+2+0=42

と求められます。 8 進数や 16 進数も同様に求められます。

5. 2 進数から 16 進数への変換
 2 進数を 16 進数にするためには, 4 桁ごとに 16 進数に変換していきます。
例えば, 2 進数の (11011010)2  16 進数へ変換すると,
(1101)2=(D)16(1010)2=(A)16

となるので,
(11011010)2=(DA)16
と求められます。 16 進数から 2 進数への変換も逆の操作により求めることができます。

【解答】

解答:(2)
(ア)
 A  B の論理積 AB は,ワンポイント解説「1.主な論理回路の真理値表」の通り,
AB=(1000 0001)2

であるから,これを 16 進数に変換すると,ワンポイント解説「2.主な進数の対応表」及び「5. 2 進数から 16 進数への変換」の通り,
AB=(81)16
と求められる。

(イ)
 A  B の論理和 A+B は,ワンポイント解説「1.主な論理回路の真理値表」の通り,
A+B=(1110 0111)2

であるから,これを 16 進数に変換すると,ワンポイント解説「2.主な進数の対応表」及び「5. 2 進数から 16 進数への変換」の通り,
A+B=(E7)16
と求められる。

(ウ)
 A  B の排他的論理和 AB は,ワンポイント解説「1.主な論理回路の真理値表」の通り,
AB=(0110 0110)2

であるから,これを 16 進数に変換すると,ワンポイント解説「2.主な進数の対応表」及び「5. 2 進数から 16 進数への変換」の通り,
AB=(66)16
と求められる。

(エ)
 A  B の否定的論理積 ¯AB は,ワンポイント解説「1.主な論理回路の真理値表」の通り,
¯AB=(0111 1110)2

であるから,これを 16 進数に変換すると,ワンポイント解説「2.主な進数の対応表」及び「5. 2 進数から 16 進数への変換」の通り,
AB=(7E)16
と求められる。