以二进制方式输入两个正整数,然后输入一个四则运算符,按short型计算这两个数的运算结果,并将结果按二进制输出。
例如:输入101 100 *
输出:10100
输入:101 100 +
输出:1001
#include<stdio.h>
#include<string.h>
int main(void){
int len=sizeof(short)*8;
char a[len],b[len],c;
int aint=0,bint=0,i,res[sizeof(int)];
while(scanf("%s %s %c",a,b,&c)!=EOF){
aint=0;bint=0;
for(i=0;i<strlen(a);i++){
aint=aint*2+a[i]-'0';
bint=bint*2+b[i]-'0';
}
while(i<strlen(a)){aint=aint*2+a[i]-'0';i++;}
while(i<strlen(b)){bint=bint*2+b[i]-'0';i++;}
switch(c){
case '+':aint=aint+bint;break;
case '-':aint=aint-bint;break;
case '*':aint=aint*bint;break;
case '/':aint=aint/bint;break;
}
i=0;
while(aint){
res[i]=aint%2;
aint/=2;i++;
}
i--;
while(i>=0){
printf("%d",res[i]);
i--;
}
printf("\n");
}
return 0;
}