今回は平成29年度 機械科目 A問題14を解説します。2つのビットパターン1011と0101について、排他的論理和(ExOR)・否定論理和(NOR)・論理和(OR)のビットごとの演算を行い、最後にその結果を16進数に変換する穴埋め問題です。
ExOR、NOR、ORという3種類の論理演算を順番に適用し、最後にもう一度ExORをとった2進数を16進数に変換するという流れを、ビットごとに丁寧に追っていくのがポイントです。
平成29年度 機械科目 A問題14:問題文と選択肢
まずは、実際の試験問題を確認してみましょう。

電験3種 機械科目 【情報】 平成29年度 A問題14
二つのビットパターン1011と0101のビットごとの論理演算を行う。排他的論理和(ExOR)は(ア),否定論理和(NOR)は(イ)であり,(ア)と(イ)との論理和(OR)は(ウ)である。0101と(ウ)との排他的論理和(ExOR)の結果を2進数と考え,その数値を16進数で表すと(エ)である。
上記の記述中の空白箇所(ア),(イ),(ウ)及び(エ)に当てはまる組合せとして,正しいものを次の(1)〜(5)のうちから一つ選べ。
(ア) (イ) (ウ) (エ) (1) 1010 0010 1010 9 (2) 1110 0000 1111 B (3) 1110 0000 1110 9 (4) 1010 0100 1111 9 (5) 1110 0000 1110 B
出題のポイント:4段階の論理演算を順番に追う

この問題は、1011と0101からExOR、NOR、ORを順に求め、最後のExOR結果を16進数へ直します。各段階の4ビットを省略せず、前段の結果を次段へ正しく渡すことがポイントです。
ポイント解説:ExOR・NOR・ORを入力ごとに見分ける

ビットごとの論理演算問題は、与えられた2つのビットパターンの各桁を1ビットずつ丁寧に演算していくのが確実です。ExOR(排他的論理和)は「異なれば1」、NOR(否定論理和)は「両方0のときだけ1」というルールを正確に適用しましょう。
最後に2進数を16進数に変換する際は、4桁ずつ区切って各グループを10進数に直し、さらに16進の1桁(0〜F)に対応させます。
問題の解説:1011₂を16進数Bへ変換するまで

STEP1 (ア)ExOR(排他的論理和)を求める
1011と0101の各桁を比較し,異なる桁は1,同じ桁は0とすると,
$$1011\oplus0101=1110$$
よって(ア)=1110。
STEP2 (イ)NOR(否定論理和)を求める
まずOR(論理和)を求めると1011+0101=1111。NORはORの否定なので,
$$\overline{1011+0101}=\overline{1111}=0000$$
よって(イ)=0000。
STEP3 (ウ)(ア)と(イ)のORを求める
1110(ア)と0000(イ)の論理和は,
$$1110+0000=1110$$
よって(ウ)=1110。
STEP4 (エ)0101と(ウ)のExORをとり16進変換する
0101と1110のExORは,$$0101\oplus1110=1011$$
2進数1011を10進数に直すと 2³+2+1=11,これを16進数で表すとB。
以上より(ア)1110(イ)0000(ウ)1110(エ)Bの組合せである(5)が正解です。
答え:(5)
💡 覚え方
ExORは「異なれば1」、NORは「両方0のときだけ1(ORの否定)」。2進数→16進数は4桁ずつ区切って変換する(1011=Bなど、0〜Fの対応を暗記しておくと速い)。
⚠️ よくある間違い
NORをANDやNANDと混同しない(NORはORの否定であり,ANDの否定であるNANDとは別物)。最後の16進変換で4桁ずつの区切り方を間違えない。
まとめ
| (ア) ExOR | 1110 |
| (イ) NOR | 0000 |
| (ウ) OR | 1110 |
| (エ) 16進変換 | B |
| 答え | (5) |
▼あわせて解きたい関連問題
・2進数の和と差からBの値を求める連立方程式:【機械】令和元年度A問題14
・AND・OR・EX-OR・NANDの4種論理演算と16進変換:【機械】平成21年度A問題14

コメント