平成31年度 春期 基本情報技術者試験 午前 問2
テクノロジ/基礎理論最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。
出典:平成31年度 春期 基本情報技術者試験 午前 問2
- ア16進数0FとのANDをとる。
- イ16進数0FとのORをとる。
- ウ16進数7FとのANDをとる。
- エ16進数FFとのXOR(排他的論理和)をとる。
正解:ウ
解説
8ビット中の最上位1ビットがパリティビットなので,これだけを0にして残り7ビットをそのまま保持する必要があります。AND演算では,残したいビット位置に1,消したいビット位置に0を置いたマスクを使うので,マスク値は01111111(16進数7F)になります。
選択肢ごとの解説
- ア誤り。0Fは0000 1111なので下位4ビットしか残らず,パリティビットを除いた本来の7ビットのうち上位側が消えてしまいます。
- イ誤り。ORでは0のビットが元の値によっては1になってしまい,マスクとして機能しません。
- ウ正しい。7Fは0111 1111なので,最上位のパリティビットだけが0になり,残り7ビットはそのまま保持されます。
- エ誤り。FFとのXORは全ビットを反転させるだけで,パリティビットの除去にはなりません。