離散数学(全109問中85問目)
No.85解説へ
最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。
出典:平成18年春期 問 6
- 16進数0FとのANDをとる。
- 16進数0FとのORをとる。
- 16進数7FとのANDをとる。
- 16進数FFとのXOR(排他的論理和)をとる。
広告
解説
論理演算を利用したビット操作には、論理積(AND)を用いて特定位置のビットを取り出す操作と、排他的論理和(XOR)を用いて特定位置のビットを反転させる操作があります。
論理積(AND)演算の真理値表は次のようになっています。あるビットと1の論理積演算は、被演算ビットが0であれば結果が0、1であれば結果が1になるので被演算ビットがそのまま結果に反映されるという特徴をもっています。
この問題では8ビットのデータの下位7ビットを取り出したいので、最上位ビット以外を「1」としたビット列「0111 1111」との論理積をとることで下位7ビットを取り出すことができます。
2進数「0111 1111」を16進数で表すと「7F」なので正解は「ウ」となります。
論理積(AND)演算の真理値表は次のようになっています。あるビットと1の論理積演算は、被演算ビットが0であれば結果が0、1であれば結果が1になるので被演算ビットがそのまま結果に反映されるという特徴をもっています。
この問題では8ビットのデータの下位7ビットを取り出したいので、最上位ビット以外を「1」としたビット列「0111 1111」との論理積をとることで下位7ビットを取り出すことができます。
2進数「0111 1111」を16進数で表すと「7F」なので正解は「ウ」となります。
広告