離散数学(全109問中102問目)
No.102解説へ
8ビットのデータの下位2ビットを変化させずに,上位6ビットのすべてを反転させる論理演算はどれか。
出典:平成16年秋期 問 8
- 16進数03と排他的論理和をとる。
- 16進数03と論理和をとる。
- 16進数FCと排他的論理和をとる。
- 16進数FCと論理和をとる。
広告
解説
論理演算を利用したビット操作には、論理積(AND)を用いて特定位置のビットを取り出す操作と、排他的論理和(XOR)を用いて特定位置のビットを反転させる操作があります。
排他的論理和の真理値表は次のようになっています。あるビットと1の排他的論理和演算は、被演算ビットが0であれば結果が1、1であれば結果が0になるのでビットが反転する特徴をもっています。
この問題では8ビットのデータの上位6ビットを反転させたいので、2進数「1111 1100」との排他的論理和をとることで上位6ビットを反転されることができます。
2進数「1111 1100」を16進数で表すと「FC」なので正解は「ウ」となります。
排他的論理和の真理値表は次のようになっています。あるビットと1の排他的論理和演算は、被演算ビットが0であれば結果が1、1であれば結果が0になるのでビットが反転する特徴をもっています。
この問題では8ビットのデータの上位6ビットを反転させたいので、2進数「1111 1100」との排他的論理和をとることで上位6ビットを反転されることができます。
2進数「1111 1100」を16進数で表すと「FC」なので正解は「ウ」となります。
広告