반응형
(scanf 가 에러 발생시 아래 참고)
https://ansan-survivor.tistory.com/899
10진수 숫자를 2진수의 숫자로 변환시켜주는 코드
10진수값을 입력하면 2진수로 변환시켜준다.
#include <stdio.h>
/* 10진수를 2진수로 변환하기(goto문, for문 이용)*/
int main(void)
{
unsigned int integer = 0, sub = 0, i = 0, k = 0, l = 0, m = 1, n = 0, s = 0;
printf("10진수를 입력하세요 :");
scanf("%d", &integer);
if (integer < 0)
{
printf("10진수 양의 정수를 입력하세요 :");
scanf("%d", &integer);
}
if (integer > 0)
{
printf("양의 정수 %d는 2진수로 ", integer);
}
l = integer;
sub = integer;
if (integer == 0)
{
printf("양의 정수 0은 2진수로 0입니다.");
}
else
{
loop:
m = 1;
for (i = 1; i >= 0; i++)
{
l = l / 2;
m *= 2;
if (l == 0)
{
printf("1");
m = m / 2;
sub = sub - m;
break;
}
}
n = sub;
if (sub == 0)
{
for (i--; i > 0; i--)
{
printf("0");
}
l = sub;
if (sub == 0)
{
goto end;
}
goto loop;
}
else
{
for (k = 1; k >= 0; k++)
{
n = n / 2;
if (n == 0)
{
break;
}
}
for (i--; i > k; i--)
{
printf("0");
}
l = sub;
if (sub == 0)
{
goto end;
}
goto loop;
}
}
end:
if (integer > 0)
{
printf("입니다.");
}
printf("\n");
return 0;
}
(결과)
10진수의 값을 입력받음.
비트연산자를 이용한 코드 아래참고
https://ansan-survivor.tistory.com/906
반응형
'C언어 \ C++' 카테고리의 다른 글
[C언어] 랜덤으로 생성한 8자리 수를 내림차순 정렬하기 예제 (0) | 2021.09.20 |
---|---|
[C언어] 비트연산자를 이용한 10진수를 2진수로 변환, decimal to binary (0) | 2021.09.19 |
[C언어] C언어 줄 입력받아 삼각형 별찍기 (0) | 2021.09.19 |
[C언어] C언어로 달력 만들기. 달력 출력하기. (0) | 2021.09.19 |
[C언어] 2차원 배열의 크기 보기 배열의 sizeof 사용법 (0) | 2021.09.19 |