(1) 0과 1을 토글(Toggle)하는 경우: 프로그램에서 변수의 값을 0↔1을 토글
int i=0; //전역 or member 변수
i^=1;//비트 배타합(eXclusive Or) 연산의 특징을 이용한다.
이와 같은 기교는 임의의 두 수를 토글하는데 사용할 수 있다. 예를 들어 1
과 3을 토글하려면, 0001 ^ 0011 → 0010
이므로, 두 수의 배타합의 결과인 2와 배타합 연산을 하면된다.
int i=1; //전역 or member 변수
i^=2;//1과 3을 토글한다.
(2) 1과 -1을 토글하는 경우
int i=1; //전역 or member 변수
i=-i;
(3) 0,1,2,3을 토글하는 경우: 2개 보다 많은 숫자를 토글
int j=0; //전역 or member 변수
i=(i+1)%4;
만약, 5,6,7,8을 토글하고 싶다면,
int j=0; //전역 or member 변수
int i;
j=(j+1)%4;
i=j+5;
처럼 사용한다. 일반적으로 m에서 시작하고 연속된 n개의 숫자를 토글하려면,
int j=0; //전역 or member 변수
int i;
j=(j+1)%n;
i=j+m;
을 사용하면 된다.
(4) 임의숫자 토글 (참조표이용..)
int toggle[]={100,34,200,79}; //전역 or member 변수
int j=0, i;
j=(j+1)%4;
i=toggle[j];
Recent Comments