2014-04-17 1 views
-3

그래서 XOR (^) 연산자는 부울 연산자에 적합합니다. 그 기본적으로 같은! =.xor 연산자와 Java에서 그 목적은 무엇입니까?

지금, INT 사업자 것이 나에게 아무런 의미가 없습니다. 나는 약간의 테스트를했고, 여기에 (유래 코드처럼 서식 주장 이유를 잘 모릅니다) 내 결과입니다 :

10^10 = 0 
10^11 = 1 
10^12 = 6 
10^13 = 7 
10^5 = 15 

반전 사업자가 아무런 영향을 미치지 보인다. 여기에 어떤 패턴이 있습니까? 또한 실제 응용 프로그램에서 어떻게 유용 할 수 있습니까?

+3

을 downvoted : 당신의 진실 테이블을 고려할 때, 당신은 비트 단위 방식으로 그들을 볼 필요가 당신은 완벽하게 좋은 설명이 될 것입니다 ... – l4mpi

+0

또한, XOR 연산자는 Java에 독점적이지 않습니다. – jgitter

답변

2

XOR은 비트 연산자이며, 그 일반 영어 설명은 "둘 중 하나만"입니다. 주어진 것`인터넷 검색을 XOR의 operator` 처음 몇 결과 중 하나를 읽기로

x y x^y 
0 0 0  <-same values, so xor is 0 
1 0 1  <-values differ, so xor is 1 
0 1 1  <-values differ, so xor is 1 
1 1 0  <-same values, so xor is 0 

그래서

10 decimal = 1010 binary 
11 decimal = 1011 binary 
12 decimal = 1100 binary 
13 decimal = 1101 binary 

10^11 -> 1010^1011 -> 0001 -> 1 decimal 
10^12 -> 1010^1100 -> 0100 -> 6 decimal 
etc... 
관련 문제