Java - XOR 연산자

XOR 연산자는 비트 연산자로, 비트 값이 서로 다르면 1을 리턴하고 같으면 0을 리턴하는 연산자입니다.

예를 들어, 아래와 같이 십진수 10과 15의 XOR 연산을 수행하면 결과는 5가 리턴됩니다. XOR은 비트 연산자이기 때문에 10진수를 2진수로 변환하고, 두 숫자의 2진수에서 동일한 위치의 비트끼리 XOR 연산을 합니다. XOR 연산자는 비트가 같으면 0을 리턴, 다르면 1을 리턴합니다. 이렇게 2진수 '0101'이 리턴되며, 10진수로 5가 됩니다.

     10 (Decimal) = 1010
XOR  15 (Decimal) = 1111
--------------------------
      5 (Decimal) = 0101

1. Integer의 XOR 연산

자바에서 XOR의 연산자는 ^입니다. 만약 10과 15에 대해서 XOR 연산을 하려면 10 ^ 15로 입력하시면 됩니다. 위에서 설명한 것 처럼, 비트가 같으면 0을, 다르면 1을 리턴하기 때문에 10과 15의 XOR 결과는 5가 됩니다.

아래는 몇가지 XOR 연산을 수행하는 예제입니다.

public class Example {

    public static void main(String[] args) {

        int n1 = 10;
        int n2 = 15;
        int result = n1 ^ n2;
        System.out.println("10 ^ 15 = " + result);

        System.out.println("11 ^ 11 = " + (11 ^ 11));
        System.out.println("0 ^ 10 = " + (0 ^ 10));
        System.out.println("14 ^ 13 = " + (14 ^ 13));
    }
}

Output:

10 ^ 15 = 5
11 ^ 11 = 0
0 ^ 10 = 10
14 ^ 13 = 3

2. Boolean의 XOR 연산

boolean은 bit로 표현하면 0(false) 또는 1(true)입니다. Integer와 동일한 방식으로 XOR 연산을 할 수 있습니다. 대신 bit가 1개 뿐이 없다고 생각하시면 됩니다.

아래 예제는 다양한 Boolean 조합의 XOR을 연산하는 예제입니다.

public class Example {

    public static void main(String[] args) {

        System.out.println("false ^ false = " + (false ^ false));
        System.out.println("false ^ true = " + (false ^ true));
        System.out.println("true ^ false = " + (true ^ false));
        System.out.println("true ^ true = " + (true ^ true));
    }
}

Output:

false ^ false = false
false ^ true = true
true ^ false = true
true ^ true = false

2.1 '!=' 연산자로 XOR 계산

Boolean의 경우, XOR 연산은 != 연산의 결과와 같습니다. !=는 두개의 Boolean이 서로 다르면 true, 같으면 false를 리턴하기 때문입니다.

public class Example {

    public static void main(String[] args) {

        System.out.println("false ^ false = " + (false != false));
        System.out.println("false ^ true = " + (false != true));
        System.out.println("true ^ false = " + (true != false));
        System.out.println("true ^ true = " + (true != true));
    }
}

Output:

false ^ false = false
false ^ true = true
true ^ false = true
true ^ true = false
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha