我是编程的初学者,我正在尝试理解将十进制转换为二进制的代码。代码如下:
#include <stdio.h>
int main()
{
long int DN,quo;
int rem[106],i=1,j;
printf("give me a decimal number: ");
scanf("%ld", &DN);
quo = DN;
while(quo!=0)
{
rem[i]= quo % 2;
quo = quo / 2;
i++;
}
printf("Equivalent binary value of your decimal number %ld\n: ",DN);
for(j = i-1 ;j> 0;j--)
printf("%d",rem[j]);
}
任何人都可以帮助我理解以while循环开头的部分吗?我很抱歉发布这么简单的问题。
答案 0 :(得分:1)
假设输入十进制数为13
Step 1. 13/2 , Remainder = 1, Quotient = 6
Step 2. 6/2 , Remainder = 0, Quotient = 3
Step 3. 3/2 , Remainder = 1, Quotient = 1
Step 4. 1/2 , Remainder = 1, Quotient = 0
现在,二进制等值13是剩余的逆序:1101
答案 1 :(得分:0)
这是将数字转换为十进制表示的标准方法的实现。