字母大小写转换 |
您所在的位置:网站首页 › ascii码大写字母与小写相差多少h › 字母大小写转换 |
这道题其实很简单,有好几种做法。 我们都知道大写字母A-Z的编码是65-90,小写字母的编码a-z是97-112。 首先先看这张图片:
很直观可以看出,大写字母和小写字母的ASCII码值相差32; 通过仔细观察相应的二进制,可以得出大写字母和小写字母二进制的第5位(从右往左从0开始数)正好相反。这也恰恰印证了第一点的ASCII码值相差32。 所以可得出以下结论:大小写是由二进制的第5位来区分的。 第5位为1即为小写,第5位为0即为大写 因此可以利用异或、与、或三种运算,保持其他位不变而只改变该位即可。 char letter; letter ^= 32, 即按位异或二进制 0010 0000,大写变小写,小写变大写 也可以写成letter ^= 0x20 letter |= 32, 即按位或二进制 0010 0000,全部变小写 也可以写成letter |= 0x20 letter &= 223, 即按位与二进制 1101 1111, 全部变大写 也可以写成letter &= ~0x20, letter &= -33 法一 #include using namespace std; int main() { char a; cin >> a;//相当于c语言中的scanf("%c",&a); cout char a; cin >> a; cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |