平成28年度 秋期 午前 問1
基礎理論
上位4ビットを0にする論理式
8 ビットのデータ X 及び Y の値をそれぞれ 16 進表現で 0F,F0 とするとき,8 ビットのデータ A の下位 4 ビットを反転させ,上位 4 ビットを 0 にする論理式はどれか。ここで,X・Y は論理積を表し,Z̅ は否定を表す。
- ア‾(A・X)
- イ‾(A・Y)
- ウA̅・X
- エA̅・Y
答えと解説を見る
✓ これが正解ウA̅・X
解説
先に否定してから、下位だけ1の定数と論理積を取ります。
この設問がやらせたいことは二つあります。下位 4 ビットを反転させることと、上位 4 ビットを 0 にすることです。まず定数を 2 進で書き直すと、X は 0000 1111 で下位 4 ビットだけが 1、Y は 1111 0000 で上位 4 ビットだけが 1 です。どんな値も 0 との論理積は 0 になり、1 との論理積は元のまま残るので、残したい側が 1 になっている定数を掛け合わせれば、いらない側だけを消せます。ここで残したいのは下位なので、使う定数は X のほうです。次に反転ですが、A の否定である A̅ は、その下位 4 ビットが A の下位 4 ビットの反転そのものになっています。よって A̅ と X の論理積を取れば、上位は 0、下位は反転という形が一度で得られます。A = 0101 1010 で確かめると、A̅ = 1010 0101、これと 0000 1111 の論理積は 0000 0101 となり、上位は 0、下位は元の 1010 の反転になっています。否定を式のどこに置くかで結果が変わる点が、この問の分かれ目です。
ほかの選択肢はなぜ違うのか
- ア‾(A・X):まず掛け合わせて、最後に全体を否定する形です。A = 0101 1010 なら途中の値が 0000 1010、その否定は 1111 0101 となり、消したかった上位側が 1 で埋まってしまいます。
- イ‾(A・Y):否定を後に置く順序に加えて、掛け合わせる定数の選び方も入れ替わっています。上位だけが 1 の定数を使うと下位が先に落ち、そのうえ全体を裏返すので、狙いと正反対の姿になります。
- エA̅・Y:否定の置き場所は合っていますが、掛け合わせる定数が入れ替わっています。A = 0101 1010 なら 1010 0101 と 1111 0000 で 1010 0000 となり、残るのは上位側で下位が消えます。
出典:平成28年度 秋期 応用情報技術者試験 午前 問1
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)