#include <stdio.h>
int main(void)
{
int c,a;
int sum=0,i=1;
printf("하나의 숫자입력 : ");
scanf("%d", &c);
printf("8진수 :%o 16진수 :%x n", c, c);
while(c>0)
{
a=c%2;
sum+=a*i;
c=c/2;
i*=10;
}
printf("n 2진수 : %dn", sum);
return 0;
}
이건데요 while문을 이해를 잘못하겟어요.. 왜 i=i*10인거죠?? 갑자기 10곱해주는 이유가멀까요..
이거 자세히좀 설명할수있는분 설명좀해주세요 2로나눠서 나머지구한다음.. 그런건알겠는데.. 잘이해가안돼여..
그리구.. 이거 숫자한개만 입력받고 끝나는 프로그램인데 연속으로 받아서..하는거 좀 알려주시면안댈까여??
설명해주면 대답만 보고 글 지울거잖아 씹새끼야
sum = sum + a * i; 하잖아요.. 한자리씩 올려줄려고... 만약 12들어오면 이진법으로 1100인데 지금 저장된 형태가 이진법이 아니라 십진수니까...
12%2 는 0 이니까 0 * 1 , 6%2 는 0 이니까 0 * 10 3 %2 는 1 1 * 100, 1% 2 는 1 이니까 1*1000 해서 1000 + 100 + 0 + 0 해서 1100..