第2種情報処理技術者試験 2000年度 = 平成12年度・春期 午前 問12

 パリティビットを含む8ビット符号において、最上位のパリティビット以外の下位7ビットを得るためのビット演算はどれか。

 ア  16進数0FとのANDをとる。
 イ  16進数0FとのORをとる。
 ウ  16進数7FとのANDをとる。
 エ  16進数FFとのXOR(排他的論理和)をとる。

解答

 ウ

解説

 本問は、パリティビットという言葉が使われていますが、これとは無関係に、8ビットデータの下位7ビットを取り出す方法を問う問題です。
 任意のビットを取り出すために使うのがマスクビットです。必要な情報を取り出すためにビットごとのAND演算を行う際に使うビットパターンであり、取り出す部分のビットがすべて1で、それ以外のビットがすべて0です。
 本問の場合だと、2進数の01111111 = 16進数の7FとのAND演算を行うことになります。以下に二つの具体例を示します。

           ┏━┳━┯━┯━┯━┯━┯━┯━┓  ┏━┳━┯━┯━┯━┯━┯━┯━┓     元のデータ  ┃1┃0│1│0│1│0│1│0┃  ┃0┃1│0│1│0│1│0│1┃            ┗━┻━┷━┷━┷━┷━┷━┷━┛  ┗━┻━┷━┷━┷━┷━┷━┷━┛            ┏━┳━┯━┯━┯━┯━┯━┯━┓  ┏━┳━┯━┯━┯━┯━┯━┯━┓ AND マスクビット ┃0┃1│1│1│1│1│1│1┃  ┃0┃1│1│1│1│1│1│1┃            ┗━┻━┷━┷━┷━┷━┷━┷━┛  ┗━┻━┷━┷━┷━┷━┷━┷━┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━            ┏━┳━┯━┯━┯━┯━┯━┯━┓  ┏━┳━┯━┯━┯━┯━┯━┯━┓     得られるデータ┃┃0│1│0│1│0│1│0┃  ┃┃1│0│1│0│1│0│1┃            ┗━┻━┷━┷━┷━┷━┷━┷━┛  ┗━┻━┷━┷━┷━┷━┷━┷━┛             ↑                  ↑                         ここだけ0に変化           ここだけ0に変化           



BohYoh.comトップページへ