xor 연산 어떤경우 사용하는가

LJM·2023년 10월 26일
0

Java

목록 보기
27/33

두 비트 값이 다를 때만 1을 반환하기: XOR 연산은 두 입력 비트 값이 다를 때만 1을 반환하므로, 두 값을 비교하여 다른 부분을 확인하는 데 유용합니다.

암호화와 복호화: XOR 연산은 동일한 키를 사용하여 암호화와 복호화를 수행할 수 있기 때문에 간단한 암호화 방식에서 자주 사용됩니다. 예를 들어, 어떤 문자의 비트와 키의 비트를 XOR 연산하면 암호화된 결과가 나오고, 이 결과를 다시 동일한 키와 XOR 연산하면 원래의 문자가 나옵니다.

오류 검출: 두 비트 문자열을 XOR 연산하여 결과를 확인함으로써 데이터 전송 중에 오류가 발생했는지 검출할 수 있습니다.

데이터 스와핑: XOR 연산을 사용하면 추가 변수나 메모리를 사용하지 않고 두 변수의 값을 교환할 수 있습니다

a = a ^ b;
b = a ^ b;
a = a ^ b;

2의 보수를 찾기 위해 XOR 연산이 사용될 수 있습니다.
어떤 숫자의 2의 보수는 그 숫자의 비트를 모두 반전시킨 후 1을 더하여 얻을 수 있습니다. 이 때, 비트 반전에 XOR 연산을 사용할 수 있습니다.
예를 들어, 4비트 이진수 0101의 2의 보수를 찾기 위한 과정은 다음과 같습니다:
모든 비트 반전: 0101 -> 1010 (XOR 연산으로 1111과 XOR 하여 얻음)
1 더하기: 1010 + 0001 = 1011
따라서, 0101의 2의 보수는 1011입니다.
이러한 방식을 통해 2의 보수는 음수를 표현하는 데 사용되며, 컴퓨터는 뺄셈을 수행할 때 2의 보수를 활용하여 덧셈 연산으로 처리합니다.

profile
게임개발자 백엔드개발자

0개의 댓글