ビット列の排他的論理和
解説
ポイント
排他的論理和(XOR,⊕)と論理積(AND,・)の性質を使って,ビット列を計算する問題です。
考え方と解き方
XORは「違えば 1,同じなら 0」,ANDは「両方 1 の時だけ 1」です。
XORには,同じものを2回かけると元に戻る((X⊕Y)⊕Y=X),同じもの同士は 0 になる(X⊕X=0)という性質があります。
- (A⊕B)⊕B は,B を2回 XOR したので元に戻って A です
- 実際に計算しても,A⊕B=11110000,11110000⊕B=01011101=A になります
((A⊕B)⊕B)⊕A=A⊕A=00000000
- 00000000・A は,片方が全部 0 なので結果も全部 0 です
- C=00000000。答えは ①
ほかの選択肢
⑤(11110000):途中の A⊕B の値です。ここで止めるとまちがえます。
③・④(B,A):B や A そのものです。最後の ⊕A で A は消えます。
覚えておくこと
- XOR:違えば 1,同じなら 0。X⊕X=0,X⊕0=X
- 同じものを2回 XOR すると元に戻る。暗号やチェックに使われる性質
- AND:両方 1 の時だけ 1。0 との AND は 0 になる
出典:令和5年度 技術士第一次試験 基礎科目 I-2-5(公益社団法人日本技術士会) ジャンル:情報・アルゴリズム