いつもお世話になっております
初歩的な質問で大変恐縮なのですが、論理演算の排他的論理和(XOR)について質問があります。
yukicoderのこの問題で
排他的論理和は「負でない整数Aと負でない整数Bの排他的論理和は負でない整数Cであることがわかっています。」と書いてあるのですが、私の考えていたXORとイメージが違い違和感を感じています。
集合Aと集合Bがあるとき、XORは「AまたはB - AかつB」で表すことができると思っていました。
例えば、
A = {1,2,3} B = {3,4,5} AまたはBが{1,2,3,4,5},AかつBが{3}なので、{1,2,3,4,5} - {3} なので、排他的論理和は{1,2,4,5}
だと思っていました。
Python3.6のコンソールで「1と3のXORは2」を試してみたところ確か2になっています。
考えてもわからなかったので答えをカンニングしています。なので、なぜ1 ^ 3
をするのかというところからわかっていません。
>>> 1 ^ 3 2
先ほど書いたように、私の理解に則るなら
A = {1}
B = {3}
AまたはBは{1,3}, AかつBは空集合{} なので{1,3} - {} = {1,3}
となると思うのですが、1と3の排他的論理和が2になる理由を教えていただけないでしょうか。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/03 09:53