본문 바로가기

개발자 모드/C언어

C언어 bitfield를 bit이동 연산자로 연산하기

728x90
// Test_bitfield.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//

#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;

	mych.ch = mych.ch >> 2;

	printf("%d \n", 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

'개발자 모드 > C언어' 카테고리의 다른 글

C언어 printf 문  (0) 2021.09.03
C언어 함수 주석 양식  (0) 2021.06.20
c언어 bitfield 기초  (0) 2021.05.24
C++ 소스코드 코딩 버젼 확인하기...  (0) 2021.05.20
C언어 10진수로 받아서 2진수 배열에 넣기  (0) 2021.04.04