若A=38,B=22,用6位无符号编码表示,求A-B,并判断结果是否有进位或错位
首先将 A 和 B 分别转换为二进制数:
A = 00100110
B = 00010110
然后进行减法运算,得到结果:
A - B = 00010000
可以看出结果没有发生进位或错位。
#include<stdio.h>
int main(int argc, const char *argv[])
{
char v = 0;
scanf("%c", &v);
getchar();
if (v >= 'A' && v <= 'Z'){
v += 32;
printf("%c\n", v);
}else if (v >= 'a' && v <= 'z'){
v -= 32;
printf("%c\n", v);
}else if (v >= '0' && v <= '9'){
v -= '0';
v *= 10;
printf("%d\n", v);
}else{
printf("%c\n", '#');
}
return 0;
}