c언어 초보인데요 10진수 2진수로 변환하는 코드입니다.
연분홍
질문 제목 : /*2진수로 변환하기 위한 나머지 연산*/
while(num0)
{
binaryarr[binarycnt++]=num%2;
num=num/2;
}
/*나머지를 거꾸로 출력하여 2진수를 보임*/
while(binarycnt0)
{
printf(%d, binaryarr[binarycnt-1]);
binarycnt-=1;
}
------------------------------------------------
10진수 정수 12를 2진수로 변환하면 1100 입니다
2진수로 변환하기 위한 과정에서
binaryarr[binarycnt++]=num%2; 여기에서는 어떻게 저장이되고
num=num/2에서는 어떻게 저장이되는건가요?
역순으로 거꾸로 출력할때에도 이해가 잘안가는데 이해좀 시켜주시면
감사하겠습니다.
질문 내용 :
#include stdio.h
#define arr_len 20
int main()
{
int num;
int binaryarr[arr_len];
int binarycnt=0;
fputs(10진수 정수 입력: ,stdout);
scanf(%d, &num);
printf(%d 를 2진수로 변환하면: , num);
/*2진수로 변환하기 위한 나머지 연산*/
while(num0)
{
binaryarr[binarycnt++]=num%2;
num=num/2;
}
/*나머지를 거꾸로 출력하여 2진수를 보임*/
while(binarycnt0)
{
printf(%d, binaryarr[binarycnt-1]);
binarycnt-=1;
}
puts(); //줄 바꿈을 위한 코드;
return 0;
}