8个16进制数据转换成2进制后为什么17-32位显示的是错误的
#include<stdio.h>
int main()
{
long int i,j=31,m;
char n[50];
printf("shu ru:");
scanf("%x",&i);
for(m=0;m<32;m++)
{
n[m]=((i>>j)&0x1)+'0';
j--;
}
printf("zhuan huan hou:");
for(m=0;m<32;m++)
printf("%c",n[m]);
getch();
return 0;
}
图片附件: 游客没有浏览图片的权限,请
登录 或
注册