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