본문 바로가기

개발 언어/C 언어/리눅스 C

비트연산자

 

 

#include <stdio.h>


//x의 우측 p부터 n번째까지 비트 얻기
unsigned getbits(unsigned x, int p, int n)
{
 return (x>>(p+1-n) & ~(~0<<n));
}

//비트 카운트 하기
int bitcount(unsigned x)
{
 int b;
 for(b=0; x!=0; x>>=1)
 {
  //앞부분이 0으로 채워진다
  if(x & 01)
   b++;
 }
 return b;
}

int main()
{
 unsigned int x = 6;
 printf("%d\n", getbits(x,4,3));
 printf("%d\n", bitcount(x));
}  

'개발 언어 > C 언어/리눅스 C' 카테고리의 다른 글

비트 연산자  (0) 2012.05.25
파일과 디렉터리 관련  (0) 2012.05.25
[c] The C Programming Language 정리  (0) 2012.04.16
[c] 비트연산자  (1) 2012.03.19
[c] xdr 라이브러리  (0) 2012.03.08