안녕하세요? 파연입니다. 하나의 변수가 2개의 값만을 가질 경우 보통 어떤 식으로 쓰시는지 궁금한데요, 제가 쓰는 방법을 소개하려고 합니다.
제일 쉬운 경우죠.. 별로 설명이 필요없는 듯.
bool toggle; ... toggle = !toggle;
마찬가지로 아주 쉽습니다. 2와 -2, 3과 -3의 토글의 경우에도 사용할 수 있겠지만, 그런 토글을 사용할 일은 아직까지 한번도 없었습니다. ^^;
int toggle = 1; ... toggle = -toggle;
그냥 bool로 해도 되겠지만, 0과 2의 토글, 0과 3의 토글 등의 경우에도 사용이 가능하고, 이렇게 0과 어떤 숫자와의 토글을 써야하는 때가 의외로 자주 있습니다.
보통의 경우 이렇게 많이 쓰겠죠..
int toggle = 1; ... if (toggle == 1) toggle = 0; else toggle = 1;
조금 더 생각을 한다면, 3항 연산자를 사용해서 다음과 같이 하는 사람도 있을테고요..
int toggle = 1; ... toggle = (toggle == 1) ? 0 : 1;
논리연산을 하지 않으려면 다음과 같이 하면 될껍니다.
int toggle = 1; ... toggle = (toggle + 1) % 2;
혹은 이렇게도 사용하더군요.
int toggle = 1; ... toggle = (toggle + 1) & 0x01;
제가 제시하는 팁은 아래와 같습니다. 단 한번의 연산으로 토글이 되는 방법이죠.
int toggle = 1; ... toggle = 1 - toggle;
괜찮지 않나요? ^^
도움이 되길 바랍니다.
비트필드를 사용할때는 XOR을 많이 사용하죠.
int toggle = 0x01; ... toggle ^= 0x01;
-- makefile $DT$
네.. 비트필드가 사실 연산속도가 제일 빠르죠.. 다만 float 형에선 사용할 수가 없다는.. ^^;
- 파연
sign bit 수정에는 사용할 수 있죠 :)
| 제일 위로 |
| 최종 수정 일시: 06월 12일(2004년) 08:26 PM 편집 | 정보 | 차이 | 비슷한 페이지 DebugInfo |
| 유용한 페이지들: 분류 분류 | 자유로운 연습장 SandBox | 무작위 페이지들 RandomPages | 인기있는 페이지들 MostPopular |