平成28年度春期 応用情報技術者試験 午前 問1
nビットの値L1,L2がある。次の操作によって得られる値L3は,L1とL2に対するどの論理演算の結果と同じか。 〔操作〕 (1) L1とL2のビットごとの論理和をとって,変数Xに記憶する。 (2) L1とL2のビットごとの論理積をとって更に否定をとり,変数Yに記憶する。 (3) XとYのビットごとの論理積をとって,結果をL3とする。
- ア 排他的論理和
- イ 排他的論理和の否定
- ウ 論理積の否定
- エ 論理和の否定
解答・解説を見る
正解:ア
AI解説
操作を論理式にすると、X=L1∨L2(論理和)、Y=¬(L1∧L2)(論理積の否定=NAND)、L3=X∧Y=(L1∨L2)∧¬(L1∧L2)となる。これは「少なくとも一方が1、かつ両方1ではない」すなわち「2つの値が異なるときだけ1」を意味し、排他的論理和(XOR)と一致する。真理値表で(0,0)→0、(0,1)→1、(1,0)→1、(1,1)→0を確認すればよい。 ア: 正解。(L1∨L2)∧¬(L1∧L2)はXORの標準的な表現形の一つである。 イ: 排他的論理和の否定(XNOR)は2つの値が等しいとき1になる演算であり、(1,1)→1となるためL3と一致しない。 ウ: 論理積の否定(NAND)は(0,0)→1となるためL3(0,0)→0と一致しない。これは操作(2)のYそのものである。 エ: 論理和の否定(NOR)は(0,0)→1、他は0となり、L3と一致しない。 💡 XOR=「(OR)AND(NAND)」という等価変形は頻出。迷ったら(0,0)(0,1)(1,0)(1,1)の4パターンを代入して真理値表を作るのが最も確実で速い。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。