離散数学 (全36問中28問目)
No.28
任意の8ビットをデータXと,8ビットのデータ00001111をビットごとに排他的論理和をとった結果はどれか。ここで,各1ビットのデータAとデータBの排他的論理和をとった結果Cの値は次のように表される。また,データの左方を上位,右方を下位と呼ぶ。
出典:平成22年秋期 問68
- Xの上位4ビットすべての0,1が反転し,下位4ビットはすべて1になる。
- Xの上位4ビットすべての0,1が反転し,下位4ビットはそのまま残る。
- Xの上位4ビットはすべて0で,下位4ビットすべての0,1が反転する。
- Xの上位4ビットはそのままで,下位4ビットすべての0,1が反転する。
分類
テクノロジ系 » 基礎理論 » 離散数学
正解
エ
解説
排他的論理和(XOR)には特徴があり、"XOR 1"(1との排他的論理和)の結果は演算元のビットが反転したものとなります。(演算元が1なら0, 0なら1)
一方"XOR 0"(0との排他的論理和)の結果は演算元のビットそのままになります。
この特徴を生かして、あるビット列の中で特定の部分だけを反転させたい場合に、排他的論理和が用いられます。
問題は"8ビットをデータXと、8ビットのデータ00001111をビットごとに排他的論理和"なので「エ」のXの上位4ビットはそのまま、下位4ビットは0, 1が反転するが正しい結果です。
一方"XOR 0"(0との排他的論理和)の結果は演算元のビットそのままになります。
この特徴を生かして、あるビット列の中で特定の部分だけを反転させたい場合に、排他的論理和が用いられます。
問題は"8ビットをデータXと、8ビットのデータ00001111をビットごとに排他的論理和"なので「エ」のXの上位4ビットはそのまま、下位4ビットは0, 1が反転するが正しい結果です。