• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:排他的論理和の問題)

排他的論理和の問題

このQ&Aのポイント
  • 8ビットのデータと排他的論理和をとる問題です。
  • データAとデータBの排他的論理和をとった結果を求めます。
  • データBのビット列が00001111であることから、データAのビット列の上位4ビットはそのままで、下位4ビットは反転します。

質問者が選んだベストアンサー

  • ベストアンサー
  • banakona
  • ベストアンサー率45% (222/489)
回答No.1

「00001111」の出所は,問題文の「任意の8ビットのデータXと、8ビットのデータ00001111をビット毎に・・・」の「00001111」です。 分かりやすくするために、問題にある排他的論理和の表をタテ横ぎゃくにすると、 A | 0 0 1 1 B | 0 1 0 1 C | 0 1 1 0 AとBの排他的論理和の結果がCとなることを示しています。 Bが0であれば、Aのビットはそのままで、 Bが0であれば、Aのビットはそのままで、が反転(0は1に、1は0になる)することを示しています。 これを8ビット(8桁)の「各桁」について計算します。 例えば、データXが00110011なら、これと「00001111」の排他的論理和を計算すると、 「0000」となっている上位はそのままなので「1100」となり、「1111」となっている下位は反転するので「0011」となり、全体は、  11000011 になります。 もう一つ計算すると、データXが01011001なら上位「0101」がそのまま、下位「1001」が反転するので「0110」で、  01010110 となります。 (補足)上記表は、Aを基にして「Aが1のときBが反転し、Aが0のときBはそのまま」ということもできます。 (蛇足?)【解説】の「データBのビット列は、00001111ですから、」という表現が悪いのかも。AとかBとかいうから「何がデータB?」という混乱が生じます。 私ならサラっと「00001111との排他的論理和なので」と言います。

miico-h
質問者

お礼

ありがとうございます。 例題風に解説してくださり、とても分かりやすかったです。

その他の回答 (2)

noname#149523
noname#149523
回答No.3

>なんでいきなりデータBのビット列が00001111なのか 解説者が表中のABと8ビットデータとしてのABの区別をきちんとしていないから分かりづらくなっている。 前者のABは排他的選言を定義するための0か1をとる変数(1ビットのデータと考えてもよいかも)。 解説の後半を空気を読んで書きかえるとこうなるかな。 任意の8ビットのデータをaとする ビット列00001111をbとする aとbとの排他的論理和は上位4ビットがaの上位4ビット、下位4ビットがaの下位4ビットを反転したものになる

miico-h
質問者

お礼

解説ありがとうございます!理解できました

  • fjnobu
  • ベストアンサー率21% (491/2332)
回答No.2

与えれた値を A、 制御する値を B、 結果を C と考えます。 制御する値が 0 の時は、与えらえた値が 0 のときは 結果が 0 になります。 与えられた値が 1 の時は結果が 1 になります。 即ち、与えられた値と結果が同じ0,1が同じです。 制御する値が 1 の時は、与えらえた値が 0 のときは 結果が 1 になります。 与えられた値が 1 の時は 結果が 0 になります。 即ち、与えらえた値と結果が反転しています。 8ビットの00001111を制御するするあちと考えると エ となります。

miico-h
質問者

お礼

ありがとうございます!