過去問解きまくり研究所 ホーム

平成23年度 特別 午前 問2

基礎理論

aに入るビット列

次の論理演算が成立するときに,a に入るビット列はどれか。ここで,⊕は排他的論理和を表す。

1101⊕0001⊕[ a ]⊕1101=1111
答えと解説を見る

✓ これが正解エ1110

解説

両端の1101が打ち消し合い、1111と0001の演算で1110です。

排他的論理和には、使うと計算がぐっと短くなる性質が三つあります。同じ値どうしを演算すると、けたがすべてそろって消えてゼロになること。ゼロと演算しても値が変わらないこと。そして、並べる順番や括り方を自由に変えてよいことです。この三つを先に思い出してから式を眺めると、四つの候補を一つずつ当てはめる必要がなくなります。左辺には1101が二つ、離れた位置に置かれています。順番を入れ替えてよいのですから、この二つを隣に寄せて先に演算します。すると、その部分はゼロになって消えます。残るのは0001と空欄のビット列だけです。つまり左辺は、0001と空欄のビット列を演算した結果に縮みます。これが右辺の1111に等しいわけです。あとは空欄を求めるだけですが、ここでも同じ性質が効きます。両辺に0001をもう一度演算すると、左辺の0001は消えて空欄だけが残ります。右辺は1111と0001の演算になり、けたごとに見ると上の三けたは1と0で1が立ち、いちばん下のけたは1と1で消えますから、1110です。引き算にあたる操作がなく、同じものをもう一度演算すれば元に戻せる、というのがこの論理演算の使いどころです。念のため、求めた値を左から順に入れて計算し直すと、1101と0001で1100、それと1110で0010、さらに1101で1111となり、右辺に戻ります。

ほかの選択肢はなぜ違うのか

出典:平成23年度 特別 応用情報技術者試験 午前 問2

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)