티스토리 뷰

Dev/C & C++

BITMASK, 비트마스크

Dev gOm 2016. 9. 13. 17:46

BITMASK란?

    • 변수 혹은 수식에서 원하는 열의 비트만 변경하기위한 상수를 비트 마스크 라고 한다.
    • 주로 프로그램의 각종 flag구현에 사용된다. 여기서 말하는 flag란 특정 함수호출시 약속된 규칙을 넘기기위해서 사용되어지는 용도 라고 이해하면되며 Win32 Api, 각종 dll 등을 접해봤으면 쉽게 이해 할 수 있다.

Example.

    • 사칙 연산의 프로그램이며 mode(+, - , *, /)를 flag로 셋팅 할 수있다.
    char PLUS = 1; //0001  
    char MIN = 2; // 0010 
    char MULTI = 4; // 0100
    char DIV = 8; // 1000
    
    void arithmetic(char flag)
    {
    	int num1, num2;
    
    	printf("두 수를 입력해 주세요.");
    	scanf("%d %d", &num1, &num2);
    
    	if(flag & PLUS)
    	{
    		printf("%d + %d = %d\n",num1,num2,num1+num2);
    	}
    	
    	if(flag & MIN)
    	{
    		printf("%d - %d = %d\n",num1,num2,num1-num2);
    	}
    
    	if(flag & MULTI)
    	{
    		printf("%d * %d = %d\n",num1,num2,num1*num2);
    	}
    
    	if(flag & DIV)
    	{
    		printf("%d / %d = %d\n",num1,num2,num1/num2);
    	}
    }
    
    void main()
    {
    	char flag = PLUS; // 0001
    	arithmetic(flag);
    
    	flag |= MIN; // 0011
    	arithmetic(flag);
    
    	flag |= MULTI; // 0111
    	arithmetic(flag);
    
    	flag |= DIV; // 1111
    	arithmetic(flag);
    }

Reference.


'Dev > C & C++' 카테고리의 다른 글

int to bit  (0) 2016.12.01
BIT 연산자  (0) 2016.09.13
조건 연산자  (0) 2016.09.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함