c语言中,字符左移一位跟字符减一有什么差别?谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/27 02:49:12
比如,
char xx[i][j],ch1,ch2;
ch1=xx[i][j]-1;
ch2=xx[i][j]>>1;

ch1跟ch2有什么不同?

谢高手指点

ch1的值是字符xx[i][j]对应的ASCII码减一,可以说是xx[i][j]字符的前一个字符
ch2的值为字符xx[i][j]对应的ASCII码除以2的商(右移的本质)
所以如下程序:
char ch='A',ch1,ch2;
ch1=ch-1;
ch2=ch>>1;
printf("%d,%d",ch1,ch2);
输出的是64和32