你好!
完整的代码:
#include
int main()
{
int num;
int n,z[30];
scanf("%d",&num);
for(n=0;n>=0;n++)
{
z[n]=num%2;
if(num/2==0) break;
num=num/2;
}
for(;n>=0;n--)
{
printf("%d",z[n]);
}
}
#include
int main()
{
int n,i;
printf("请输入一个十进制数:");
scanf("%d",&n);
int m[100];
for(i=0;n!=0;i++) //辗转相除,2进制数存入数组m[100]
{
m[i]=n%2;
n=(int)(n/2);
}
while(i-1>=0) //将m[100]中的2进制输出
{
printf("%d",m[i-1]);
i--;
}
return 0;
}
#include
void main()
{ int i,s=0,n;
unsigned int x;
scanf("%d",&n);
for ( i=0,x=0x80000000;i<32;i++,x>>=1 )
if ( n&x ) { s=1; printf("1"); }
else if ( s ) printf("0"); //去掉前导0
printf("\n");
}
十进制转化二进制有自己的算法,楼主记住就好了。