티스토리 뷰
요즘 서류지원을 하고 Pre-Test를 공부하느라 포스팅이 뜸했습니다a
그래도 공부하던중 몰랐던 재미있는 방법들이 있어서 정리하고 있는 중입니다.
다른 내용들도 시간내서 하나씩 정리해 올리겠습니다~
오늘의 내용은 XOR를 이용한 정수값 Swap 입니다!
우선 혹시나 XOR 연산이 어떤 원리인지 기억이 가물가물하신 분들을 위해 정리해봤습니다.
다음과 같이 x나 y중 하나만 1일때 값이 1이고 나머지는 0으로 바꿔주는 Bit연산입니다.
그렇다면 이것을 이용해서 어떻게 두 정수값을 Swap할수 있을까요?
기존에 방법으로 하자면 이렇게 temp 변수를 이용해서 Swap을 하셨을겁니다.
여기서 설명할 방법은 다음과 같습니다.
다음과 같이 XOR 연산을 3번함으로써 두값을 Swap 할수 있었습니다.
다음은 결과화면 입니다.
물론 실무에서 얼마나 사용될지는 모르겠지만 그래도 알아두면 유용한 방법인거 같습니다. ^^;;
누군가에게는 작은도움이 되었기를 바라면서 오늘의 포스팅 끝~
'C & C++' 카테고리의 다른 글
[C++] 소멸자에 Virtual을 써야하는 이유 (0) | 2016.02.01 |
---|---|
[C++] Virtual 키워드 사용하기 (0) | 2016.02.01 |
[C++] auto_ptr의 컨테이너는 절대로 만들지 말자! (0) | 2016.02.01 |
[C++] 임계영역(CriticalSection)을 이용해서 동기화(ThreadSync) 객체 만들기 (0) | 2016.02.01 |
[C++] pthread를 이용해서 쓰레드 만들기. (0) | 2016.02.01 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 트랜잭션
- 페어프로그래밍
- Autoloading
- MySQL 족보
- ruby
- 페어 프로그래밍
- db
- metaprogramming
- dead lock
- autoload_paths
- 루비 메타프로그래밍
- next key lock
- 메타프로그래밍
- lock
- MySQL
- 엘라스틱서치 기초
- 넥스트 키 락
- MySQL 인덱스
- gap lock
- 인덱스
- InnoDB
- mysql lock
- 되추적
- ruby meta programming
- Pair-programming
- 갭 락
- innoDB lock
- Elasticsearch Cluster
- 루비 상수
- 루비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함