我用C编写了一个十进制转二进制的程序,输出的二进制固定为8位,我用itoa函数来转换进制,但是我输入96后输出的十进制是错误的,求大神解答,代码如下
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i,j,x,gs,js;
char a[100];
while(1)
{
printf("请输入要转换的数字:");
scanf("%d",&x);
itoa(x,a,2);
gs=strlen(a);
js=8-gs;
i=0;
for(j=js;j<=7;j++)
{printf("%c",a[i]);
a[j]=a[i];
i++;
}
for(i=0;i<js;i++)
{
a[i]='0';
}
printf("\n");
for(i=0;i<8;i++)
{printf("%c",a[i]);
}
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i,j,x,gs,js;
char a[100];
while(1)
{
printf("请输入要转换的数字:");
scanf("%d",&x);
itoa(x,a,2);
gs=strlen(a);
js=8-gs;
i=0;
for(j=js;j<=7;j++)
{printf("%c",a[i]);
a[j]=a[i];
i++;
}
for(i=0;i<js;i++)
{
a[i]='0';
}
printf("\n");
for(i=0;i<8;i++)
{printf("%c",a[i]);
}
}
return 0;
}