字母大小写转换

您所在的位置:网站首页 ascii码大写字母与小写相差多少h 字母大小写转换

字母大小写转换

2024-06-06 19:08| 来源: 网络整理| 查看: 265

这道题其实很简单,有好几种做法。 我们都知道大写字母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