IPA過去問ドリル

平成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になりますが,この操作の結果とは一致しません。
応用情報技術者の過去問を演習モードで解く