本文へスキップ

平成30年度 秋期 ITパスポート試験 問79

この問題の解説と、これまでの解答の記録です。

問79
頻出度★★☆

8ビットの2進データXと00001111について,ビットごとの論理積をとった結果はどれか。ここでデータの左方を上位,右方を下位とする。

出典 平成30年度 秋期 ITパスポート試験 問79
解説

問 79

  • 不正解ア

    残る側と 0 になる側が逆です。「下位4ビットが 0、上位4ビットが残る」結果になるのは、マスクが 11110000 (上位が 1、下位が 0) のときです。マスク 00001111 では 0 の位置 (上位) が消え、1 の位置 (下位) が残るので、この記述は当てはまりません。

  • 不正解イ

    「下位4ビットが全て 1 になる」のは論理和 (OR) の性質であり、AND ではありません。AND では 1 との演算はビットを 1 に固定せず、元の値を保つだけです。さらに残る側 (上位/下位) の対応も逆になっており、二重に誤りです。

  • ウ

    正解 マスク定数 00001111 は、上位4ビットが 0000、下位4ビットが 1111 です。論理積 (AND) は「両方が 1 のときだけ 1、それ以外は 0」という演算なので、あるビットと 0 の AND は必ず 0 (値が消える)、1 の AND は元の値がそのまま残る、という性質があります。したがって X と 00001111 の AND では、上位4ビットは 0 との AND で全て 0 になり、下位4ビットは 1 との AND で X の値がそのまま残ります。これは選択肢ウ「上位4ビットが全て 0 になり、X の下位4ビットがそのまま残る」と一致します。

  • 不正解エ

    「上位4ビットが全て 1 になる」という点が誤りです。マスクの上位4ビットは 0 なので、AND の結果は 1 ではなく必ず 0 になります。1 に固定されるのは OR の性質であり、AND ではビットを 1 で埋めることはできません。

ここがポイント
  • ビットマスクにおける AND の基本性質: 「0 との AND は 0 (そのビットを消す)」「1 との AND は元の値のまま (そのビットを残す)」。マスクの 1 の位置だけが値を通す。
  • AND と OR の役割の違い: AND (00001111) は必要な下位ビットだけを取り出すマスク、OR は特定ビットを 1 にセットする演算であり、両者を混同しない。
用語

解答の記録