使用ASCII码处理字母大小写

本文介绍了如何通过ASCII码的二进制表示来判断和转换字母的大小写。大写字母与小写字母的区别在于从左数第三位,大写为0,小写为1。利用异或运算的性质,可以方便地进行大小写的判定和转换。
摘要由CSDN通过智能技术生成

大写字母ASCII码的二进制和16进制表示:

A -> 0100-0001 -> 41

Z -> 0101-1010 -> 5A

小写字母ASCII码的二进制和16进制表示:

a -> 0110-0001 -> 61

z -> 0111-1010 -> 7A

观察可以发现大写字母和小写字母二进制ASCII码的差别在从左数第三位,大写字母该位为0小写字母该位为1。可以利用这点完成字母的大小写的判定和转换,具体来说:

大小写判定:

//char ch;

bool is_lowercase = ch & 0x20;

检验代码:

#include<iostream>

using namespace std;

int main() {

char ch1 = 'a', ch2 = 'A';

bool is_lowercase = ch1 & 0x20;

is_lowercase ? printf("%c is lowercase.\n", ch1) : 0;

is_lowercase = ch2 & 0x20;

is_lowercase ? 0 : printf("%c is not lowercase.", ch2);

}

运行结果:

大小写转换:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值