情報24【電験3種 機械】ビット論理演算(ExOR・NOR・OR)から16進数へ!平成29年度 A問題14 完全解説

電験3種 機械科目 情報 平成29年度 A問題14 ビットごとに論理演算!結果を16進数で表す

今回は平成29年度 機械科目 A問題14を解説します。2つのビットパターン1011と0101について、排他的論理和(ExOR)・否定論理和(NOR)・論理和(OR)のビットごとの演算を行い、最後にその結果を16進数に変換する穴埋め問題です。

ExOR、NOR、ORという3種類の論理演算を順番に適用し、最後にもう一度ExORをとった2進数を16進数に変換するという流れを、ビットごとに丁寧に追っていくのがポイントです。

目次

平成29年度 機械科目 A問題14:問題文と選択肢

まずは、実際の試験問題を確認してみましょう。

電験3種 機械科目 情報 平成29年度 A問題14 問題文
平成29年度 機械科目 A問題14 問題文

出典:一般財団法人 電気技術者試験センター「平成29年度 第三種電気主任技術者試験」機械科目 A問題14

電験3種 機械科目 【情報】 平成29年度 A問題14

 二つのビットパターン1011と0101のビットごとの論理演算を行う。排他的論理和(ExOR)は(ア),否定論理和(NOR)は(イ)であり,(ア)と(イ)との論理和(OR)は(ウ)である。0101と(ウ)との排他的論理和(ExOR)の結果を2進数と考え,その数値を16進数で表すと(エ)である。

 上記の記述中の空白箇所(ア),(イ),(ウ)及び(エ)に当てはまる組合せとして,正しいものを次の(1)〜(5)のうちから一つ選べ。

(ア)(イ)(ウ)(エ)
(1)1010001010109
(2)111000001111B
(3)1110000011109
(4)1010010011119
(5)111000001110B

出題のポイント:4段階を順に処理する

1011 と0101 に対して、ExOR →NOR →OR →ExOR の4段階——1つずつ確実に進めます。

段階演算結果根拠
(ア)1011 ExOR 01011110異なる桁は上位3つ
(イ)1011 NOR 0101★0000両方0 の桁がない
(ウ)1110 OR 000011100 とのOR は変化なし
(エ)0101 ExOR 11101011=B16進1桁に変換

1011 と0101 を桁ごとに比べる——1と0、0と1、1と0、1と1最後の桁だけが一致しているので、ExOR は1110 になります。

NOR は「両方0」の桁だけが1——1011 と0101 のどの桁を見ても、少なくとも一方は1だから0000 です。

\( 0101\ \mathrm{ExOR}\ 1110=1011 \)
(エ)の計算
桁ごとに比べる
\( (1011)_2=8+2+1=11=(\mathrm{B})_{16} \)
16進数に変換
★11=B
ExOR、NOR、OR、16進数変換の4段階を示す出題のポイント
1011と0101から始め、三つの論理演算と16進数変換を順番に追います。
平成29年A問題14の論理演算4段階と1011から16進数Bへの変換
各演算の結果は1110、0000、1110、最後に1011₂=B₁₆となるため、正解は(5)です。
答え(ア)1110 (イ)0000 (ウ)1110 (エ)B——正解は (5)です。

⚠️ よくある間違い
(エ)を9 としている選択肢が3つあります——1001=9 ですが、正しくは1011=11=B です。10=A、11=B——1つずれやすいので慎重に
(ア)を1010 としている選択肢桁の比較を1つ誤ったもの。1011 と0101 の3桁目は「1 と0」で異なる——だから1 です。
(ウ)を1111 としている選択肢(イ)を1111 と誤った結果——NOR とNAND を取り違えているのです。

ExOR が2回で元に戻ることを確かめる

本問には、ExOR の重要な性質が隠れています(ア)と(エ)の関係を見てみましょう。

\( 1011\oplus0101=1110 \)
(ア)
\( 0101\oplus1110=1011 \)
(エ)
★1011 に戻った

1011⊕0101=1110その1110 に0101 をExOR すると1011 に戻る——(A⊕B)⊕B=A という性質そのものです。

性質応用
可逆性(A⊕B)⊕B=A★暗号化と復号
反転A⊕1=Āビットの反転
不変A⊕0=Aマスクで守る
消去A⊕A=0一致の判定

同じ値でExOR すれば0 になる——だから「2つの値が等しいか」を調べるのにも使えます結果が全部0 なら一致ということです。

暗号化にも使われます平文と鍵をExOR して暗号文、暗号文と鍵をExOR して平文——同じ操作で行き来できるのが利点です。

本問の(エ)は、まさにその復号にあたる操作——知っていれば計算せずに1011 だと分かりますあとは16進数に直すだけです。

⏱️ 本番での進め方
①(ア)ExOR は異なる桁が1。1011と0101 →1110。
②(イ)NOR は両方0 の桁だけ。該当なしで0000。
③(ウ)0 とのOR は変化なし。1110 のまま。
④(エ)★(A⊕B)⊕B=A なので1011=B。

💡 覚え方
「ExOR は2回かけると元に戻る」——(エ)は計算せずに1011 だと分かるそして「1011=11=B」——A=10、B=11 の対応に注意してください。

本問と同型の問題が令和6年度上期 A問題14にあります(情報:ビットパターンの論理演算)。ビットパターンが1101と1011 に変わっただけ——解き方はまったく同じです。

ExOR、NOR、ORの真理値表と出力条件の比較
ExORは異なる入力、NORは両方0、ORはいずれか1のときに1となります。

ビット演算を暗算するコツ

4桁程度なら、慣れれば暗算できます。演算ごとの着眼点を押さえておきましょう。

演算着眼点本問での判断
ExOR★違う桁を探す1011と0101 →上位3桁が違う
NOR★両方0 の桁を探す1つもない →0000
ORどちらかに1 がある桁0000 とのORは変化なし
AND両方1 の桁を探す

「探すもの」を意識すれば速い——全桁を計算するのではなく、条件に合う桁だけ探すのです。

NOR は該当する桁がないことが多い——両方0 という条件は厳しいからです。本問でも0000 になりました

0000 が出れば、その後のOR は計算不要——相手がそのまま残るだけ。1段分の計算が省けることになります。

16進数の対応を確実にする

(エ)で問われた16進数への変換——A〜F の対応が最大の関門です。1つずれると別の答えになります

2進数10進数16進数覚え方
100199ここまでは数字
101010★A10 からアルファベット
101111★B本問の答え
110012C

1001(9)と1011(B)は1桁違うだけ——誤答の9 は、まさにここを取り違えたものです。2進数を読み直して確かめるのが確実になります。

1011=8+0+2+1=11——重みを足して確認すれば間違えません。11 は A(10)の次なのでB です。

ビットパターンという言葉

問題文の「ビットパターン」——数値としてではなく、0 と1 の並びとして扱うという意味です。

だから「1011」を11 という数と見る必要はありません——4本の信号線の状態だと考えればよいのです。論理演算は桁ごとに独立——繰り上がりも借りもありません

最後に「2進数と考え、16進数で表すと」と書かれているのは、そこで初めて数値として扱うという指示——問題文が丁寧に区別しているのです。

ビット演算の性質

各ビットを独立に演算する——桁上がりがないのが算術演算との違いです。

演算性質使いどころ
AND★特定のビットだけ残す(マスク)下位4ビットを取り出す
OR★特定のビットを1 にするフラグを立てる
EX-OR★特定のビットを反転するビット反転、暗号
NOT全ビット反転1 の補数

AND は「0 と組めば0、1 と組めばそのまま」——だからマスクとして使えるのです。残したいビットに1、消したいビットに0 を当てます。

EX-OR は「1 と組めば反転、0 と組めばそのまま」——反転したいビットに1 を当てます。同じ値で2回EX-OR すると元に戻るので、簡単な暗号にも使われます。

算術の足し算と違って桁上がりがない——各桁が完全に独立です。だから8桁を一度に計算しようとせず、桁ごとに書き並べるのが確実になります。

まとめ

(ア) ExOR1110
(イ) NOR0000
(ウ) OR1110
(エ) 16進変換B
答え(5)

▼あわせて解きたい関連問題
・2進数の和と差からBの値を求める連立方程式:【機械】令和元年度A問題14
・AND・OR・EX-OR・NANDの4種論理演算と16進変換:【機械】平成21年度A問題14

📚 次に解くべき関連問題
【機械】令和6年度上期A問題14(情報23)
【機械】令和元年度A問題14(情報25)
【機械】令和6年度上期B問題18(情報27)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次