これは誰にとっても明らかなことかもしれませんが、XOR(または排他的論理和)の名前の由来を誰かが説明できますか?排他的という言葉は本当にどういう意味ですか?それは重要ではありませんが、朝から頭に残っています。
OR:
0 0 0
0 1 1
1 0 1
1 1 1
XOR:
0 0 0
0 1 1
1 0 1
1 1 0
それは「入力1,1の場合は排他的に0」、「ORの特別なバージョン」または他の何かですか?
これは誰にとっても明らかなことかもしれませんが、XOR(または排他的論理和)の名前の由来を誰かが説明できますか?排他的という言葉は本当にどういう意味ですか?それは重要ではありませんが、朝から頭に残っています。
OR:
0 0 0
0 1 1
1 0 1
1 1 1
XOR:
0 0 0
0 1 1
1 0 1
1 1 0
それは「入力1,1の場合は排他的に0」、「ORの特別なバージョン」または他の何かですか?
それは子供たちがORとして理解するものです
あなたはチョコレートを持つことができますまたはあなたはアイスクリームを持つことができます
しかし、プログラマーはこれを両方を持っていると見なします!
Q:「お茶とコーヒーのどちらがいいですか」
迷惑なプログラマーの答え=はい
XORは、2つの値が排他的である場合、つまり両方が異なる場合にのみ1の「真の」値を返すため、「排他的論理和」です。
巻のKnuthによると。TAOCPの4A、George Boole "... x + yを論理和を表すように書きましたが、xとyが相互に排他的でない限り(両方1ではない)、この表記を使用しないように苦労しました。必要に応じて、x +(1- x)論理和の結果が決して2にならないようにするため。」
XORは、キャリーが失われた追加です。
2つのオペランドが相互に排他的(つまり、異なる)でなければならないという意味で排他的です。
これは集合論から来ています。2つのセットAとBがあり、それらのセットに含まれる場合と含まれない場合がある要素があるとします。要素がセットAにある場合、最初のブール入力はtrueです。要素がセットBにある場合、2番目のブール入力はtrueです。
要素が1つのセットに対して「排他的」である場合(他のセットと「共有されていない」場合など)、XOR演算子はtrueを返します。ウィキペディアからのイラスト:
XORで排他的論理和とは、まさにその意味を意味します。2つのうちの1つを除外する必要があります。つまり、どちらか一方です。両方ではなく、どちらでもない-1つだけ。少なくともそれは私がそれを理解した方法です:)
「1つだけ」のように排他的です。言い換えれば、それは「2つのうちの1つですが、両方ではありません」です。
私は今日、素敵な「平易な英語」の例を読みました。
たとえば、「火曜日までに私に支払うか、私が訴える」という英語の文を考えてみてください。その「または」が論理接続詞である場合、火曜日までに私に支払いをするか、私があなたを訴えるとき、その文は真実です。だからあなたは月曜日に私に支払うことができ、私はまだあなたを訴えるかもしれません。しかし、この「または」の特定の使用は、通常、火曜日までに私に支払いをして私があなたを訴えないか、火曜日までに私に支払いをせずに私があなたを訴えることを意味すると解釈されます-いわゆる「排他的論理和」 "。
ヒュー・ダーウェン、「リレーショナルデータベース理論の紹介」、p76。