離散数学(全36問中7問目)
No.7解説へ
8ビットの2進データ X と 00001111 について,ビットごとの論理積をとった結果はどれか。ここでデータの左方を上位,右方を下位とする。
出典:平成30年秋期 問79
- 下位4ビットが全て0になり,Xの上位4ビットがそのまま残る。
- 下位4ビットが全て1になり,Xの上位4ビットがそのまま残る。
- 上位4ビットが全て0になり,Xの下位4ビットがそのまま残る。
- 上位4ビットが全て1になり,Xの下位4ビットがそのまま残る。
広告
解説
論理積(AND)とは2つの入力に対して次のような出力を返す論理演算です。結果を検証するために、8進数のデータ X に仮値の"10101010"と"11001100"を設定して、"00001111"との論理積(AND)をとった結果を見てみます。2つの演算結果を見ると、上位4ビットが0になり、下位4ビットには X のビット列がそのまま残っていることがわかります。したがって「ウ」の説明が適切です。
上記の例を見てもわかるように、あるビット列に対して論理積演算を行うと、マスクビット列(設問でいえば 00001111)の"0"の部分は必ず"0"になり、"1"の部分は元のビット列がそのまま出力されることになります。この特性を活かし、論理積演算はあるビット列から特定位置のビット列を取り出す際に使用されます。
上記の例を見てもわかるように、あるビット列に対して論理積演算を行うと、マスクビット列(設問でいえば 00001111)の"0"の部分は必ず"0"になり、"1"の部分は元のビット列がそのまま出力されることになります。この特性を活かし、論理積演算はあるビット列から特定位置のビット列を取り出す際に使用されます。
広告