본문 바로가기

개발자 모드/C언어

c언어 bitfield 기초

728x90
#include "stdafx.h"
#include <stdio.h>


int main() 
{ 
	struct BIT 
	{ 
		unsigned char bit0:1; 
		unsigned char bit1:1; 
		unsigned char bit2:1; 
		unsigned char bit3:1; 
		unsigned char bit4:1; 
		unsigned char bit5:1; 
		unsigned char bit6:1; 
		unsigned char bit7:1; 
	}tmp; 
	printf("sizeof(tmp): %d \n", sizeof(tmp)); 

	union mytype 
	{ 
		//char ch; 
		unsigned int ch; 
		struct BIT bits; 
	} mych; 
	printf("sizeof(mych): %d \n", sizeof(mych)); 

	mych.ch = 201;
    
    printf("%d : ", mych.ch); 

	//ch 멤버의 2진수 출력 코드추가 
	printf("%d ", mych.bits.bit7); 
	printf("%d ", mych.bits.bit6); 
	printf("%d ", mych.bits.bit5); 
	printf("%d ", mych.bits.bit4); 
	printf("%d ", mych.bits.bit3); 
	printf("%d ", mych.bits.bit2); 
	printf("%d ", mych.bits.bit1); 
	printf("%d ", mych.bits.bit0); 
	printf("\n"); 

}

 

 

728x90