今回は令和6年度上期 機械科目 A問題14を解説します。2つのビットパターン1101と1011に対する排他的論理和(ExOR)、否定論理和(NOR)、それらの論理和(OR)、さらに別のビットパターンとの排他的論理和の結果を16進数に変換するという、複数段階のビット演算を問う空所補充問題です。
ExORは一方だけが1のとき1、NORは両方0のときだけ1という定義を順に適用していきます。最後に得られる2進数を10進数経由で16進数に変換する手順も忘れずに確認しましょう。
令和6年度上期 機械科目 A問題14:問題文と選択肢
まずは、実際の試験問題を確認してみましょう。

電験3種 機械科目 【情報】 令和6年度上期 A問題14
二つのビットパターン1101と1011のビットごとの論理演算を行う。排他的論理和(ExOR)は(ア),否定論理和(NOR)は(イ)であり,(ア)と(イ)との論理和(OR)は(ウ)である。1011と(ウ)との排他的論理和(ExOR)の結果を2進数と考え,その数値を16進数で表すと(エ)である。
上記の記述中の空白箇所(ア)〜(エ)に当てはまる組合せとして,正しいものを次の(1)〜(5)のうちから一つ選べ。
(ア) (イ) (ウ) (エ) (1) 1001 0110 1001 9 (2) 0110 0000 1111 D (3) 1001 1111 1001 F (4) 0110 1111 1001 9 (5) 0110 0000 0110 D
出題のポイント:1ビットごとの演算規則を確認する

ExORは2ビットが異なるとき、NORは両方が0のとき、ORはいずれかが1のときに1となります。4ビットの演算でも、左端から各桁を独立に判定し、途中結果を順番どおりに書き残すことが重要です。
ポイント解説:1101と1011を順番どおりに演算する

複数段階のビット演算問題は、指示された順番通りに1つずつビットごとの演算を実行していけば必ず解けます。ExOR(片方だけ1で1)、NOR(両方0のときだけ1)、OR(どちらかが1なら1)の定義を混同しないことが重要です。
最後に2進数を16進数に変換する際は、いったん10進数を経由すると計算ミスを防げます。
問題の解説:最終結果1101を16進数Dへ変換する

STEP1 (ア)ExOR(排他的論理和)を計算する
1101 ExOR 1011:各桁を比較し、一致すれば0、不一致なら1。
$$1101\oplus1011=0110$$
STEP2 (イ)NOR(否定論理和)を計算する
1101 NOR 1011:両方0の桁だけ1。各桁を見ると両方0の桁は存在しないので、
$$=0000$$
STEP3 (ウ)(ア)と(イ)のOR
0110 OR 0000 = 0110
STEP4 (エ)1011と(ウ)のExORを16進数に変換
1011 ExOR 0110 = 1101
2進数1101を10進数に変換:1×8+1×4+0×2+1×1=13。13を16進数に変換するとD。
以上(ア,イ,ウ,エ)=(0110, 0000, 0110, D)は選択肢(5)と一致します。
答え:(5)
💡 覚え方
ExOR=不一致で1、NOR=両方0で1、OR=どちらかが1で1、という3つの定義を正確に区別する。最終的な16進数変換は2進数→10進数→16進数と段階を踏むと確実。
⚠️ よくある間違い
ExORとNORの定義を取り違えやすい(ExORは「不一致」、NORは「両方0」)。ORへの変換段階で前段の(ア)(イ)を混同しないよう、各ビットパターンをその都度書き出して確認すること。
まとめ
| (ア)ExOR | 0110 |
| (イ)NOR | 0000 |
| (ウ)OR | 0110 |
| (エ) | D |
| 答え | (5) |
▼あわせて解きたい関連問題
・2進数・10進数・8進数・16進数の基数変換(穴埋め):【機械】平成28年度A問題14
・2進数・10進数・16進数に関する記述の正誤判定:【機械】令和3年度A問題14

コメント