본문 바로가기
3. 개발 관련/공부 :: c

Bitwise Operation in C

by kyuho.choi 2023. 4. 19.
728x90
반응형

Device Driver 나 low-level system programming 을 건드리다 보면 bit operation 을 자주 쓰게 되는데,

개발자마다 사용하는 방식이나 스타일이 다르다.

 

음... 이것도 한가지 타입으로 정의해서 쓰면 코드가 더 깔끔해질 것 같긴한데, 우선 선호하는 내용만 정리해본다.

 

1. Set bit
OR 연산자를 "|"  를 사용한다.

foobar |= 1UL << n; // foobar is in unsigned long

2. Clear bit
AND 연산자 "&" 를 사용한다.

foobar &= ~(1UL << n); // foobar is in unsigned long


3. Toggle bit
XOR 연산자 "^"를 사용한다.

foobar ^= 1UL << n;



linux kernel 내에서는 위 코드 내의 bit offset shift 이 BIT(n) 으로 이미 정의되어 있어 보다 편한게 사용가능하다.

728x90
반응형

댓글