技術士第一次試験|無料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である。
関連知識:排他的論理和では が成り立つ。暗号や誤り検出で利用される。
問題・正答の出典:公益社団法人 日本技術士会(公式の過去問題・公式正答)
掲載している解説は日本技術士会の公式解説ではありません。