运用位运算,能将变量ch中的大写字母转换为小写字母的表达式

问题描述:

运用位运算,能将变量ch中的大写字母转换为小写字母的表达式
注意是用位运算

#include
int main()
{
char ch;
scanf("%c",&ch);
ch^=0x20;
printf("%c\n",ch);
return 0;
}请问0x20;是什么意思?谢谢0x20是16进制的20,表示十进制的32,二进制的00100000^是按位异或运算。大写字母:最小:A 01000001最大:Z 01011010所以所有大写字母+32只需把bit[5]变为1即可,所以只需ch^=0x20;