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