求怎样将一个十进制数转换为二进制数?
怎样将一个十进制数转换为二进制数
给你一个思路,将那个十进制数除以2,将余数输入到一个数组中,再将上次除得的商除以2,同理将余数存入数组中,如此到商为0时停.将那个数组反向输出就是了.
#include<stdio.h>
#include<stdlib.h>
viod main()
{
int i,n,k=1,a[50]; //50个二进制位够大的吧
printf("enter n:");
scanf("%d",&n);
if(n<=0) exit(0); //小于0的不要,等于0也没有必要了
a[0]=n%2;
do
{
n=n/2;
i=n%2;
a[k++]=i;
}while(n!=0);
for(i=49;a[i]==0;i--) ; //找到二进制开始的地方,也就是最后一个余数在数组中的位置
for(;i>-1;i--)
printf("%d",a[i]);
}
[ 本帖最后由 qq1023569223 于 2010-12-24 14:33 编辑 ]