不要用itoa函数, 数组, 函数调用都可以!
主要问题是是当十进制数值小于128的时候,前面要加个0, 用数组赋值,然后倒序输出总是报错, 请达人帮忙,谢谢!!
刚写的, 但是MS有很大的问题, 被无限循环了. 初学者, 请大家不吝赐教!! 谢谢!!
#include<stdio.h>
void convert(int number){
int i,a[7];
int reminder;
for(i=0;i<8;i++){
reminder=number%2;
number=number/2;
a[i]=reminder;
}
for(i=7;i>=0;i--){
printf("%d",a[i]);
}
return;
}
int main(void)
{
int input;
printf("Give a number in [0,255]:");
scanf("%d",&input);
convert(input);
printf("\n");
return 0;
}
void main()
{
int convert(int a);
int a,e[100],k,j=0,i=0;
printf("请è¾å ¥ä½ å°è¦è½¬æ¢çæ°å¼ï¼åè¿å¶æ£æ´æ°ï¼ï¼\n");
scanf("%d",&a);
while(a!=0)
{
k=convert(a);
a/=2;
e[j]=k;
j++;
}
while(j%4!=0)
{
e[j]=0;
j++;
}
printf("转æ¢æçäºè¿å¶æ°æ¯ï¼");
for(;j>=1;j--)
printf("%d",e[j-1]);
printf("\n");
}
int convert(int a)
{
int c;
c=a%2;
return c;
}
è°è¯éè¿çï¼è¿½é®
è¾å ¥0, ç¶åä»ä¹é½æ²¡è¾åº!
追ç#include
void main()
{
int convert(int a);
int a,e[100],k,j=0,i=0;
printf("请è¾å
¥ä½ å°è¦è½¬æ¢çæ°å¼ï¼åè¿å¶æ£æ´æ°ï¼ï¼\n");
scanf("%d",&a);
if(a==0)
printf("转æ¢æçäºè¿å¶æ°æ¯ï¼0000\n");
else
{
while(a!=0)
{
k=convert(a);
a/=2;
e[j]=k;
j++;
}
while(j%4!=0)
{
e[j]=0;
j++;
}
printf("转æ¢æçäºè¿å¶æ°æ¯ï¼");
for(;j>=1;j--)
printf("%d",e[j-1]);
printf("\n");
}
}
int convert(int a)
{
int c;
c=a%2;
return c;
}
int num = 6;
for (int i=0; i<32; i++)
{
bin[31-i] = num % 2;
num = num / 2;
}
for (int j=0; j<32; j++)
{
printf("%d",bin[j]);
}