技術士第一次試験|無料Web版

技術士 基礎科目 令和5年度 Ⅰ-2-5|問題と解説

問題 Ⅰ-2-5

2つの単一ビットa,bに対する排他的論理和演算a⊕b及び論理積演算a・bに対して、2つのnビット列A = a1a2…an,B = b1b2…bnの排他的論理和演算A⊕B及び論理積演算A・Bは下記で定義される。
A⊕B =(a1⊕b1)(a2⊕b2)…(an⊕bn)
A・B =(a1・b1)(a2・b2)…(an・bn)
例えば
1010⊕0110=1100
1010・0110=0010
である。
ここで2つの8ビット列
A=01011101
B=10101101
に対して、下記演算によって得られるビット列Cとして、適切なものはどれか。
  C=(((A⊕B)⊕B)⊕A)・A

1 00000000
2 11111111
3 10101101
4 01011101
5 11110000

正解と解説

正解:1

解説

括弧の内側から排他的論理和を実行し、最後にAとの論理積を取る。

1.最初のXORを求める

対応する桁が異なるときに1となるので、

01011101⊕10101101

=11110000

2.同じビット列とのXORを打ち消す

11110000⊕10101101

=01011101=A

さらにAとのXORは A⊕A=00000000。最後のANDも、全桁0とAとの積なので全桁0になる。

C=00000000である。

関連知識:排他的論理和では A⊕A=0,A⊕0=A が成り立つ。暗号や誤り検出で利用される。

問題・正答の出典:公益社団法人 日本技術士会(公式の過去問題・公式正答)
掲載している解説は日本技術士会の公式解説ではありません。

令和5年度の年度別演習を始める