본문 바로가기
프로그래밍/C언어

bit연산자 - & | ^ << >> (3)

by 리뷰하는 (게임)프로그래머_리프TV 2010. 3. 8.

&(and)연산자 두 비트를 비교하여 둘다 참이 아니면 무조건 0.

마찬가지로 &연산자를 사용해서도 가능한 응용법.

#include <stdio.h>

void main()
{
	unsigned int bit = 0x12345678;
	int chk_bit[4] = { {0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0xff000000}};
	unsigned char out_bit[4] = {0};

	printf( "%x\n", bit );

	out_bit[0] = bit & chk_bit[0];
	printf( "%x \n", out_bit[0] );

	out_bit[1] = (bit & chk_bit[1]) >> 8;
	printf( "%x \n", out_bit[1] );

	out_bit[2] = (bit & chk_bit[2]) >> 16;
	printf( "%x \n", out_bit[2] );

	out_bit[3] = (bit /*& chk_bit[3]*/) >> 24;
	printf( "%x \n", out_bit[3] );
}




16진수 기준으로 123456이라는 숫자를
각각 12, 34, 56, 78로 나누어 쪼개 넣었다.

어느 부분에서 어떻게 활용해야 할지는 솔직히 잘 모르겠지만,
알면 알 수록 신기한 비트연산의 세계

'프로그래밍 > C언어' 카테고리의 다른 글

문자열과 배열  (0) 2010.03.08
재귀 호출  (0) 2010.03.08
bit연산자 - & | ^ << >> (2)  (0) 2010.03.08
bit연산자 - & | ^ << >> (1)  (0) 2010.03.08
랜덤함수-rnd()-srand() 사용법  (0) 2010.03.05