10진수를 2진수로 변환하는 프로그램
// while 문을 이용한 2진법 변환
#include <stdio.h>
int main(void)
{
long number, binary, sum=0, i=1;
printf("10진수를 입력하고 Enter>");
scanf("%ld", &number);
printf("\n\n10진수 : %ld ", number);
while(number>0)
{
binary=number%2;
sum+=binary*i;
number=number/2;
i*=10;
}
printf("\n 2진수 : %ld\n", sum);
return 0;
}
// 실행 결과
// for문을 이용한 2진법 변환
#include <stdio.h>
#include <math.h>
int main(void)
{
int i;
long number, binary;
double bin_length, sum=0;
printf("10진수를 입력하고 Enter>");
scanf("%ld", &number);
printf("\n\n10진수 : %ld ", number);
bin_length=log(number)/log(2)+1;
for(i=0; i<bin_length ; i++)
{
binary=number%2;
sum+=binary*pow(10, i);
number=number/2;
}
printf("\n 2진수 : %0.f\n", sum);
return 0;
}
// 실행 결과
// 배열을 이용한 진법 변환
#include <stdio.h>
int main(void)
{
int number, binary, count, i=0;
int bin[100];
printf("10진수를 입력하고 Enter>");
scanf("%d", &number);
printf("\n\n10진수 : %d ", number);
while(number>0)
{
binary=number%2;
bin[i]=binary;
number=number/2;
i+=1;
}
count=i-1;
printf("\n 2진수 : ");
for(i=count; i>=0; i--)
printf("%d", bin[i]);
printf("\n");
return 0;
}
// 실행 결과
// 재귀적 호출을 이용한 진법 변환
#include <stdio.h>
void dectobin(int n);
int main(void)
{
int number;
printf("10진수를 입력하고 Enter>");
scanf("%d", &number);
printf("\n\n10진수 : %d ", number);
printf("\n 2진수 : ");
dectobin(number);
printf("\n");
return 0;
}
void dectobin(int n)
{
if(n>1)
dectobin(n/2);
printf("%d", n%2);
}
// 실행 결과
// while 문을 이용한 2진법 변환
#include <stdio.h>
int main(void)
{
long number, binary, sum=0, i=1;
printf("10진수를 입력하고 Enter>");
scanf("%ld", &number);
printf("\n\n10진수 : %ld ", number);
while(number>0)
{
binary=number%2;
sum+=binary*i;
number=number/2;
i*=10;
}
printf("\n 2진수 : %ld\n", sum);
return 0;
}
// 실행 결과
// for문을 이용한 2진법 변환
#include <stdio.h>
#include <math.h>
int main(void)
{
int i;
long number, binary;
double bin_length, sum=0;
printf("10진수를 입력하고 Enter>");
scanf("%ld", &number);
printf("\n\n10진수 : %ld ", number);
bin_length=log(number)/log(2)+1;
for(i=0; i<bin_length ; i++)
{
binary=number%2;
sum+=binary*pow(10, i);
number=number/2;
}
printf("\n 2진수 : %0.f\n", sum);
return 0;
}
// 실행 결과
// 배열을 이용한 진법 변환
#include <stdio.h>
int main(void)
{
int number, binary, count, i=0;
int bin[100];
printf("10진수를 입력하고 Enter>");
scanf("%d", &number);
printf("\n\n10진수 : %d ", number);
while(number>0)
{
binary=number%2;
bin[i]=binary;
number=number/2;
i+=1;
}
count=i-1;
printf("\n 2진수 : ");
for(i=count; i>=0; i--)
printf("%d", bin[i]);
printf("\n");
return 0;
}
// 실행 결과
// 재귀적 호출을 이용한 진법 변환
#include <stdio.h>
void dectobin(int n);
int main(void)
{
int number;
printf("10진수를 입력하고 Enter>");
scanf("%d", &number);
printf("\n\n10진수 : %d ", number);
printf("\n 2진수 : ");
dectobin(number);
printf("\n");
return 0;
}
void dectobin(int n)
{
if(n>1)
dectobin(n/2);
printf("%d", n%2);
}
// 실행 결과
'공부 > c언어' 카테고리의 다른 글
[c언어] 등차수열 (1) | 2011.08.05 |
---|---|
[c언어] 10진수를 8진수로 변환 (0) | 2011.08.04 |
[c언어] 비트필드 구조체를 정의하고, 초기화하여 내용을 출력 (2) | 2011.06.23 |
[c언어] 열거형(enum)의 사용방법 (1) | 2011.06.23 |
[c언어] 공용체(union)의 정의와 사용방법 (0) | 2011.06.23 |