【問題】
最上位をパリティビットとする8ビット符号において、パリティビット以外の下位7ビットを得るためのビット演算はどれか。
ア.16進数0FとのANDを取る。
イ.16進数0FとのORを取る。
ウ.16進数7FとのANDを取る。
エ.16進数FFとのXOR(排他的論理和)を取る。
【解答】
特定のビットを取り出すには、1のANDを取ればよいから、アかウとなる。
アの場合 → 16進数0Fを8ビット符号(2進数)に直すと、00001111となるから、ANDを取ると、下位4ビットのみが抽出されるので、不適切となる。
ウの場合 → 16進数7Fを8ビット符号(2進数)に直すと、01111111となるから、ANDを取ると、下位7ビットのみが抽出されるので、問題文を満たす。
よって、解答はウとなる。
なお、16進数を8ビット符号(2進数)に直すと、それぞれの桁数ごとに、以下のように表すことが出来る。
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F