编程:一个位于区间{-128,127}的10进制整数,计算其二进制原码,反码,补码

Python编程,以8位字符串输出,感谢

#include "stdio.h"
void f10to2(char n){
unsigned char f;
if(f=0x80,n<0){
printf("1");
f>>=1;
}
while(f){
printf("%d",!!(f&n));
f>>=1;
}
printf(" ");
}
int main(int argv,char *argc[]){
int n;
char m;
printf("Input n(int -128<=n<=127)...\nn=");
if(scanf("%d",&n)!=1 || n<-128 || n>127){
printf("Input error, exit...\n");
return 0;
}
printf(" DEC      ORIG     RADX     COMP\n");
printf("----------------------------------\n");
m=(char)n;
printf(m>9 ? "%4d\t" : "%3d\t",m);
if(m>=0)
f10to2(m),f10to2(m),f10to2(m);
else
f10to2((~m+1)|0x80),f10to2((m-1)|0x80),f10to2(m);
printf("\n");
return 0;
}

运行样例:

温馨提示:答案为网友推荐,仅供参考
相似回答