平成28年度 春期 応用情報技術者試験 午前 問1
テクノロジ/基礎理論nビットの値L1,L2がある。次の操作によって得られる値L3は,L1とL2に対するどの論理演算の結果と同じか。 〔操作〕 (1) L1とL2のビットごとの論理和をとって,変数Xに記憶する。 (2) L1とL2のビットごとの論理積をとって更に否定をとり,変数Yに記憶する。 (3) XとYのビットごとの論理積をとって,結果をL3とする。
出典:平成28年度 春期 応用情報技術者試験 午前 問1
- ア排他的論理和
- イ排他的論理和の否定
- ウ論理積の否定
- エ論理和の否定
正解:ア
解説
X=L1 OR L2,Y=NOT(L1 AND L2) とし,L3=X AND Y を計算すると,これは(L1 OR L2) AND NOT(L1 AND L2)となり,排他的論理和(XOR)の定義そのものです。両ビットが異なるときだけ1になる性質を,論理和と論理積の否定の組合せで実現しています。
選択肢ごとの解説
- ア正しい。(L1 OR L2) AND NOT(L1 AND L2) は排他的論理和と等価です。
- イ誤り。排他的論理和の否定(同値演算)であれば,両ビットが等しいときに1になりますが,この操作はビットが異なるときに1になります。
- ウ誤り。論理積の否定(NAND)はYの時点で既に計算されており,L3はさらにXとの論理積をとった結果なのでNANDとは異なります。
- エ誤り。論理和の否定(NOR)は両ビットが0のときだけ1になりますが,この操作の結果とは一致しません。