프로그래밍

비트연산자 이용한 swap

Dilrong 2017. 11. 9. 19:45
/*
using bit swap
^=xor
00 = 0
01 = 1
10 = 1
11 = 0
!(x^y);
x==y;
*/
void inplace_swap(int *x, int *y){
//x=x, y=x^y
*y = *x ^ *y;
//x=x^x^y, y=x^y
*x = *x ^ *y;
//x=x, y=x^y^y
*y = *x ^ *y;
}


반응형