"XOR 교체 알고리즘"의 두 판 사이의 차이

3번째 줄: 3번째 줄:
;XOR 교체 알고리즘, XOR 스왑 알고리즘
;XOR 교체 알고리즘, XOR 스왑 알고리즘
* 임시 변수를 두지 않고, 두 변수를 배타적 논리합(XOR) 비트 연산을 이용하여 교체하는 알고리즘
* 임시 변수를 두지 않고, 두 변수를 배타적 논리합(XOR) 비트 연산을 이용하여 교체하는 알고리즘
* 추가 메모리 공간이 필요없으나, 임시변수 사용하는 방법보다 느림
* 추가 메모리 공간이 필요없다는 장점이 있음
* 특수한 상황이 아니라면 권장되지 않음
* 그렇지만 특별한 상황이 아니라면 권장되지 않음


https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/XOR_Swap.svg/440px-XOR_Swap.svg.png
https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/XOR_Swap.svg/440px-XOR_Swap.svg.png
==잘 안쓰는 이유==
* (성능) 모던 CPU 아키텍처에서 임시변수를 사용하는 방법보다 느림
:XOR 기법은 CPU 인스트럭션간 강한 의존성(순서)가 있어 병렬처리 효율을 떨어뜨림
* (역사) 컴퓨터 그래픽 한정이기 하나, 미국특허(US4197590)로 등록이 된 바 있음


==같이 보기==
==같이 보기==

2018년 7월 15일 (일) 08:52 판

1 개요

XOR swap algorithm
XOR 교체 알고리즘, XOR 스왑 알고리즘
  • 임시 변수를 두지 않고, 두 변수를 배타적 논리합(XOR) 비트 연산을 이용하여 교체하는 알고리즘
  • 추가 메모리 공간이 필요없다는 장점이 있음
  • 그렇지만 특별한 상황이 아니라면 권장되지 않음

 

2 잘 안쓰는 이유

  • (성능) 모던 CPU 아키텍처에서 임시변수를 사용하는 방법보다 느림
XOR 기법은 CPU 인스트럭션간 강한 의존성(순서)가 있어 병렬처리 효율을 떨어뜨림
  • (역사) 컴퓨터 그래픽 한정이기 하나, 미국특허(US4197590)로 등록이 된 바 있음

3 같이 보기

4 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}