컴퓨터/C
C언어 변수 교환
Begi
2020. 5. 17. 17:44
반응형
2개의 변수를 교환하는 C 코드는 다음과 같다.
int a ,b;
int temp;
temp = a;
a = b;
b = temp;
위 코드에서 교환을 위해 임시변수 temp를 사용했는데 임시변수 없이 다음와 같이 XOR 교환 알고리즘 (XOR swap algorithm)으로 구현할 수도 있다.
int a, b;
a = a^b;
b = a^b;
a = a^b;
XOR 교환 알고리즘의 일반식은 다음과 같다.
a = a XOR b
b = a XOR b
a = a XOR b
위 식의 진리표는 다음과 같다.
In | Out | ||
a |
b |
a | b |
0 |
0 |
0 | 0 |
0 |
1 |
1 | 0 |
1 |
0 |
0 | 1 |
1 |
1 |
1 | 1 |
반응형