반응형
C 언어, 10진 정수를 2진수로 출력하기
글. 오상문 sualchi@daum.net
#include <stdio.h>
void print_binary(unsigned int x)
{
char bin[32]; // 이진수 저장 버퍼
unsigned int pos=1; // ... 00000001
int count=0, i=0;
while(x>0) {
bin[i++] = (x&pos)?'1':'0';
x -= x&pos; // 검사한 부분은 빼줌
pos <<= 1; // 확인 위치 이동
count++; // 이진수 자리 수 증가
}
for(i=count-1; i>=0; i--) // 뒤집어서 출력
printf("%c", bin[i]);
}
int main(void)
{
int a = 12;
printf("%d의 2진수: ", a); // 12의 2진수: 1100
print_binary(12);
return 0;
}
<이상>
반응형
'C' 카테고리의 다른 글
C 언어, const 변수 선언 시 자료형을 지정하지 않으면 const int로 취급 (0) | 2019.05.16 |
---|---|
DevCpp printf, scanf 함수 long double 형 %LF 서식 오류 (0) | 2019.04.16 |
C 언어, 달팽이 배열 출력하기 (0) | 2019.03.04 |
C 언어, 최대 공약수(GCD) 구하는 다양한 방법 (1) | 2019.02.23 |
C 언어, 반대 부호 정수를 출력하는 다양한 방법 (0) | 2019.02.19 |