Programming/c++

[C++] 비트 연산, Bitwise ( 10진수를 2진수로 변환)

owls 2022. 12. 13. 19:43
728x90

비트 연산을 이용해서 쉽게 10진수를 2진수로 변환할 수 있다.

 

int main(){
    int num = 52;
    for(int i = 7; i>= 0; i--){    //2진수 표현 자릿수, 자릿수는 늘려도 된다.
        int result = num >> i & 1;
        printf_s("%d", result);  //00110100
    }
    
    return 0;
}

( num >> i )  : i 자릿수 만큼 오른쪽으로 shift 연산을 실행한다.

( i & 1 ) :  2^0 자릿수를 추출하기 위한 AND연산이다. 

 

52(10진수) 를 2진수로 변환하면 00110100(2진수) 로 변환된다.

 

곱하기, 나머지 계산을 이용해서 비트 연산을 하지 않아도 위의 비트 연산을 이용하면 더 간단하게 식을 구현할 수 있다.

 

728x90