演算子-一般化された対称差
バイナリxorを取り、それを他の基数に一般化する場合、基数ベクトルの各要素の差の絶対値によってそれを行うことができます。ただし、これには、バイナリ対称ディフェンと同じ特性はありません。その理由は、差の「兆候」を捨てる場合、バイナリxorでできるように、結果とその他を指定すると、オペラを再構築することができないためです。だから私たちは素敵な財産を失う
ABA = B
ただし、次のような他の優れたプロパティを保持します
A0 = A
AA = 0
このプロパティを維持する方法があります。ただし、私が知る限り、結果には3つのベクトルを放出する必要があります。最初のベクトルは通常の対称差であり、他の2つのベクトルは、最初のオペランドと等しい長さのバイナリベクトルであり、結果の符号を記録します。このようにして、結果と他のオペランド、および他のオペランドの「符号」ベクトルを指定すると、元のオペランドを復元できます。
例えば :
1137と9284に対応する2つの基底10ベクトルがあるとします。基底10のこれら2つの数値のxorは何ですか?
7 3 1 1 4 8 2 9
4 8 2 9 7 3 1 1
Signed
Result 3 -5 -1 -8 -3 5 1 8
Sign
Vector 0 1 1 1 1 0 0 0
Symmetric
Difference 3 5 1 8
8153および9284を指定して1137を回復
3 5 1 8
+ - - -
4 8 2 9
7 3 1 1
私の質問は、「符号を覚えておく」必要がないように、基数> 2で一般化された対称差のより良い構成はありますか?