C에서 ^ 연산자는 보통 어떨때 쓰나요??
글쓴이: poibe / 작성시간: 월, 2007/01/29 - 10:34오후
if (p->size) { if (tot ^ p->size) { p = p->next; continue; } }
else if (tot < PACKET_BIG) { p = p->next; continue; }
소스는 대략 이런데요..
단순한 "^"의미라기 보다... 보통 어떤것을 하고자 할때 ^ 요놈을 자주 쓰시는지요??
지금 보고 있는 소스가 네트워크 관련 소스인데.. ^ 이놈을 상당히 애용을 했더군요..
근데 의미를 잘 모르겠습니다. -_-;; 고수님들 도와주세요..
Forums:
Exclusive OR 예로 드신
Exclusive OR
예로 드신 소스에서는 단순히 != 의 의미로만 사용한 것 같습니다.
CPU 마다 틀리므로 효율이 어떻다고 단정지을 순 없고요.
0xf0 ^ 0xa5 = 0x55
0xa5 ^ 0x55 = 0xf0
이런 성질을 이용해서 tmp 없이 두 변수의 값을 swap 하는 위험한 팁이 있기도 합니다.
그거.. 위험한가요?
제가 잘 몰라서..;;
여지껏 자주 애용하던...
--------------------------------
스물셋.. 독립.. 열심히 살아보자!!
--------------------------------
--------------------------------
스물셋.. 독립.. 열심히 살아보자!!
--------------------------------
xor
비트 마스크를 써서
비트 마스크를 써서 압축할 수도 있겠죠.
(네트워크 관련 소스라면
전송하기 전에 용량을 줄이는 걸 중요하게 생각하겠네요.)
저는 보통 이럴때.. 많이 써요~
bool bFlag = true;
bFlag ^= 1; // false는 true로 true는 false로...
if( bFlag )
{
...
}
else
{
...
}
댓글 달기