
排他的論理和と対称差って同じものを指していると思うんだけど何か違いがあるの?



いいところをつくね!結論をいうと、「考え方」は同じだけど、「対象」が違うんだ!
排他的論理和と対称差、ベン図で書くとともに同じ範囲を指します。しかし言葉が違うのに違和感を感じる人もいるのではないでしょうか。これらの違いをわかりやすく解説します!
排他的論理和とは
2つの入力のうち、どちらか1つだけが真(True、1)の時のみ真を返し、2つとも真もしくは偽(False、0)のとき偽を返す論理演算です。XOR、⊕などで結んで論理式を書きます。



片方のみ真なら真ってことだね!
ベン図に表すとこのようになります。


具体的に式を書いてみましょう。
True XOR False // これはTrue
True XOR True // これはFalse 


ORと違うのは、両方とも真の時は偽を返すというところだね!
対称差とは
2つの集合のうち、片方にのみ属し、両方に共通して属していない要素の集合です。



いまいちわからんから具体例をだな…。
例えば集合A{1,2,3}と集合B{3,4,5}があったとしましょう。
このときAとBの対称差は{1,2,4,5}になります。1,2はAのみ、4,5はBにのみ属しているので対称差に含まれますが、3はAとB両方に属しているので対称差の結果としては属しません。
式に書くと⊕や^で書くことが多いです。
{1,2,3} ^ {3,4,5} // {1,2,4,5} 


ベン図で書くとこうなるよ!





お、おお、おお、同じやーん!排他的論理和のベン図と同じじゃん!
排他的論理和と対称差の違いとは



確かにベン図で示している範囲は同じなんだけど、上記の説明は全く違かったよね?



確かに全然違ったね。わかりやすく言うと何が違うの?
排他的論理和は論理演算です。つまり2つの入力を比較し、真偽値を返します。
対して対称差は集合です。2つの集合を比較して、集合を返します。



なるほど!考え方は同じだけど排他的論理和は論理演算、対称差は集合が対象になるんだね!



その意味の違いがわかれば大丈夫!しっかり使い分けていこう!



-300x158.png)
コメント