swap2 C/C++ 매크로를 사용한 정수 타입 swap C/C++ 코딩 시 변수끼리 값을 바꾸고 싶은 경우들이 있습니다. 이를 보통 변수 swap 이라고 하는데 a, b 라는 두 변수간에 값을 바꾸기 위해서는 보통 하나의 변수가 더 필요 합니다. temp 라는 하나의 변수를 더 써서 다음과 같이 변경하는 게 일반적이죠. 비트 연산을 하지 않는 실수 타입들은 아래 방식으로 하는 게 맞을 겁니다. temp = a; a= b; b= temp; 하지만 정수 타입의 경우 비트 연산을 이용하여 temp 라는 추가적인 변수 없이 swap 이 가능 합니다. 아래와 같이 Exclusive OR 연산을 세 번 사용하면 변수끼리 값을 바꿀 수 있습니다. #define SWAP(a, b) a ^= b; b ^= a; a ^= b; 위 매크로에 대해 다음과 같이 테스트 해 봤습니다.. 2016. 2. 19. C++ Cartesian Product 이전 포스팅들에서도 소개한 Cartesian Product 를 C++ 를 사용하여 구성하는 방법에 대해 소개해 드리려 합니다. 2013/08/18 - [programming language/MATLAB] - MATLAB 모든 경우의 수 뽑기 Cartesian Product 2013/08/18 - [programming language/powershell] - Powershell 경우의 수 조합 다 구하기(Cartesian Product) 아래 주소를 보니 Cartesian Product 와 관련하여 좋은 예제들이 많이 있더군요. http://stackoverflow.com/questions/5279051/how-can-i-create-cartesian-product-of-vector-of-vectors .. 2014. 3. 1. 이전 1 다음