^
을 사용하지 않고 비트 XOR을 구현하는 방법이 있습니까?^을 사용하지 않고 XOR을 구현하는 방법은 무엇입니까?
1) 다른 비트 연산을 사용합니까?
2) 산술 연산이 필요합니까?
^
을 사용하지 않고 비트 XOR을 구현하는 방법이 있습니까?^을 사용하지 않고 XOR을 구현하는 방법은 무엇입니까?
1) 다른 비트 연산을 사용합니까?
2) 산술 연산이 필요합니까?
나는 당신이 그것을 할 싶어 이유를 알고 있지만하지 않습니다 (a|b)&~(a&b)
또는 (a&~b)|(b&~a)
산술 버전이 좋은 이유없이 시도하기에 너무 복잡한 것 같다.
a xor b == (a and (not b)) or ((not a) and b)
bitwise 버전에 대해 'bitand'등을 사용 하시겠습니까? –
나는 상징 대신에 단어를 사용하는 것이 대답을 명확하게 할 것이라고 생각했다; 그것들은 비트 연산입니다. –
확인. 표준은 적절한 의미의 단어를 제공합니다 :'&'는'bitand'이고,'|'는'bitor'이고'~'는'compl'이며'and','or' 및'not'는 단어를 제공합니다. 논리적 연산 ('&&','||'및'!')을 사용하면 약간 혼동을 줄 수 있습니다. –
왜? (a | b) & ~ (a & b) –
XOR이 무엇을 의미하는지 생각해보십시오. OR, AND 및 NOT 연산의 조합이 트릭을 수행한다는 것이 명백해야합니다. –
'^'의 문제점은 무엇입니까? 정확히 원하는 것을 수행하는 연산자가 있습니다. 그걸 써! –