修了試験 2016-12-11実施分 基本情報技術者試験 問2
最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。
正答3
解説
正解は3です。 8ビットのうち最上位1ビットを0にし、下位7ビットはそのまま残す演算を問う問題です。 ビットを残したい位置を1、消したい位置を0にしたマスクとANDをとるのが定石です。 【選択肢別解説】 1:× 16進数0Fは2進数で00001111なので、ANDをとると下位4ビットしか残りません。 下位7ビットのうち上側の3ビットが0に消えてしまいます。 2:× 0FとのORは下位4ビットを強制的に1にする演算です。 パリティビットも消えないので、目的の下位7ビットは得られません。 3:○ 16進数7Fは2進数で01111111です。 ANDをとると最上位のパリティビットだけが0になり、下位7ビットは元の値のまま残ります。 4:× FFとのXOR(排他的論理和)は、全ビットの0と1を反転させる演算です。 パリティビットも残り、下位7ビットも反転してしまいます。 【ポイント】 ANDは特定ビットの取出し(マスク)、ORは特定ビットを1にする操作、XORは特定ビットの反転に使います。 この三つの使い分けは頻出です。まとめて解く
修了試験 2016-12-11実施分を通しで解く(80問)→