11

z*a + z*b + z*c + ... + z*yのような商品の合計がある場合は、の前に同じzファクタを移動することができます。XORで括弧の前に移動する

bitwise XORが乗算の代わりに使用されている場合、同じトリックを実行することは可能です(もしそうなら)。 z^a + z^b + ... z^y -> z^(a + b + ... + y)

恐らくa, b, c ...は、論理的に否定されたものなど、事前に処理する必要がありますか? zが変更される可能性がありますので、必要に応じて前処理は特定のz値に依存しないようにしてください。 Wikipediaから

+3

AFAIK XORは2^32の法則に加えて分散性ではないので、それを行うことはできません。 – harold

+0

aからyまでをzでXOR処理することによるaの前処理は、aからyまでの否定よりも遅くなることはありません。それはCPUのための些細な操作です。 –

+1

いい算数の証明運動のように聞こえる:「すべてのx_iに対して 'Σ(z^x_i)= z ^Σf_z(x_i)'となるような関数 'f_z(x) – MSalters

答えて

6

Distributivity:なしバイナリ機能に、いなくても、それ自体で

だから、いや、残念ながら、あなたはXORでそのような何かを行うことはできません。