c语言 十进制转化为二进制

我这里提供了两种方法:

#include <stdio.h>
int main()
{
	int a,i=1,c=0,j,k,sum=0;
	scanf("%d",&a);
	while(i!=0)
	{
		k=a%2;
		for(j=0;j<c;j++)
			k*=10;
		sum+=k;
		i=a/2;
		a=i;
		c++;
	}
   printf("sum=%d",sum);
	return 0;
}
///////////////////////////////////////////////////////////
/////////////////第二种方法///////////////////////////////
/////////////////////////////////////////////////////////

#include <stdio.h>

int main()
{
	int a,b[10],i=0;
    scanf("%d",&a);
	while(a!=0)
	{
		b[i++]=a%2;
		a=a/2;
	}
	while(i>0)
		printf("%d",b[--i]);
	return 0;
}


猜你喜欢

转载自blog.csdn.net/ling_cmd/article/details/78296652