11

z*a + z*b + z*c + ... + z*y과 같은 제품의 합계가있는 경우 대괄호 [z(a + b + c + ... 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와 같은 아무것도 할 수 없습니다.