平成28年度 春期 午前 問1
基礎理論
論理和に関する問題
n ビットの値 L1,L2 がある。次の操作によって得られる値 L3 は,L1 と L2 に対するどの論理演算の結果と同じか。
〔操作〕
(1) L1 と L2 のビットごとの論理和をとって,変数 X に記憶する。
(2) L1 と L2 のビットごとの論理積をとって更に否定をとり,変数 Y に記憶する。
(3) X と Y のビットごとの論理積をとって,結果を L3 とする。
- ア排他的論理和
- イ排他的論理和の否定
- ウ論理積の否定
- エ論理和の否定
答えと解説を見る
✓ これが正解ア排他的論理和
解説
論理和から両方が1の場合を外した形なので排他的論理和です。
操作を式に直すところから始めます。まず、L1 と L2 のビットごとの論理和を取った X は、どちらか一方でも 1 であれば 1 になる値です。次に、L1 と L2 の論理積を取ってから否定を掛けた Y は、両方が 1 のときだけ 0 になる値、つまり両方そろってはいないことを表す値です。最後にこの二つの論理積を取るので、L3 が 1 になるのは、どちらかは 1 であり、かつ両方そろってはいないときだけ、すなわちちょうど一方だけが 1 のときになります。これは排他的論理和の定義そのものです。1 ビットぶんで確かめます。どちらも 0 なら X が 0 なので L3 は 0、片方だけが 1 なら X も Y も 1 なので L3 は 1、どちらも 1 なら X は 1 でも Y が 0 になるので L3 は 0 です。四通りとも排他的論理和と同じ値になりました。操作はビットごとに行うので、n ビットあっても各桁で同じことが起きます。論理和から両方そろった場合だけを削り落とす形だと読めると、覚え直さずに導けます。
ほかの選択肢はなぜ違うのか
- イ排他的論理和の否定:この演算が 1 になるのは、二つがそろって 1 のときと、そろって 0 のときです。操作から得られる値はちょうどその裏返しで、一方だけが 1 のときに 1 になりますから、四通りとも値が反対になります。
- ウ論理積の否定:二番目の操作で作った Y を、そのまま答えとして取り出した形です。X と掛け合わせる段取りがまだ残っているので、そこで止めると片方そろった場合の扱いがずれます。
- エ論理和の否定:一番目の操作で作った X に、あとから否定を掛けたものとして読んだ形です。否定が掛かっているのは掛け合わせたほうであって、足し合わせたほうには掛かっていません。
出典:平成28年度 春期 応用情報技術者試験 午前 問1
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)