반응형
10진수를 입력하면 2진수로 출력하기
예)
15 → 1111
13 → 1101
17 → 10001
#include<stdio.h>
int main(){
int num;
int bin[10] = {0};
int i = 0;
printf("10진수 정수 : ");
scanf("%d", &num);
do{
bin[i] = num % 2; // num 값을 2로 나눈 나머지를 bin[i]에 저장한다.
num /= 2; // num을 2로 나눈 값을 num에 저장한다.
i++;
} while(num != 0); // num이 0이 아니면 do로 돌아가 반복문을 실행한다.
for(int j = i - 1; j >= 0; j--) // bin[0]부터 bin[i]까지 저장되어 있으며, 이진수로 표현하려면 뒤에서부터 출력하여야 한다.
printf("%d", bin[j]); // do~while 문에서 마지막에 i++을 해주기 때문에 j의 초기값을 'i-1'로 준다.
return 0;
}
반응형
'C' 카테고리의 다른 글
[C언어] 실습: 점수를 입력받은 후, 총점 및 평균 계산하기 (다차원 배열) (0) | 2021.03.04 |
---|---|
[C언어] 다차원 배열 (0) | 2021.03.03 |
[C언어] 실습: 자연수의 약수를 구한 후, 그 자연수와 같은 약수를 제외한 나머지 약수들의 합이 자연수와 같아지는 자연수 구하기 (0) | 2021.03.01 |
[C언어] 실습: 정수를 입력받은 후, 약수 출력하기 (0) | 2021.02.26 |
[C언어] 실습: 여러 개의 정수를 입력받은 후, 합이 0이 되면 프로그램 종료하기 (0) | 2021.02.26 |