位运算处理字符串大小写转换
来源:互联网 发布:office for mac 破解版 编辑:程序博客网 时间:2024/05/16 15:44
大写转小写
大写字母与小写字母相差32
A 65 01000001
a 97 01100001-->A的第6位转为1,就能变为a
B 66 01000010
b 98 01100010-->B的第6为转为1,就能变为b
C 67 01000011
c 99 01100011-->同理
...
Y 89 01011001
y 121 01111001
Z 90 01011010
z 122 01111010
32(0x20)00100000
因为,大写字母和小写字母之间就第6位的值不一样,其他为都是相同的,
所以,只要大写字母的第6位从0-->1, 就能转换为小写字母
ch |= 32 --> 大写转小写
ch |= 0x20
小写转大写
想要把小写转换为大写,只要把小写的第6位1-->0
223(0xdf)11011111
ch &= 223 --> 小写转大写
ch &= 0xdf
大小写字母的互转
aBcDEf-->AbCdeF
同理,可以看第六位的值,想要互转,就需要转换第六位的值
所以可以使用异或运算
异或: 与0异或,值不变
与1异或,值相反
ch ^= 32 --> 实现第六位的翻转,小写->大写,大写->小写
- 位运算处理字符串大小写转换
- 位运算处理字符串大小写转换
- 位运算,大小写转换
- 使用位运算转换大小写
- 大小写转换函数,位运算的使用
- 位运算与字母大小写转换
- C#字符串处理之大小写转换
- C++位运算完成ASCII码英文字母大小写转换
- 字符串处理技术之格式化字符串(字符串大小写转换)
- 大小写按位转换
- hdu 2721(字符串处理,位运算 暴力)
- Boost下字符串处理:大小写转换,判断和剪切
- 字符串大小写转换
- 字符串转换大小写方法
- c++字符串大小写转换
- c++字符串大小写转换
- delphi 大小写字符串转换
- c++字符串大小写转换
- Android SDK Add-on Configure, Compile and Release
- WCF分布式开发
- 光头老熊做易赛是这样做教下家的
- NHibernate 学习 终极资料
- 《Linux内核修炼之道》精华分享与讨论
- 位运算处理字符串大小写转换
- flex的NaN值与isNaN函数的应用
- Computer, Program, Programming language, Programming language theory ----wikipedia
- 比较好的SCHEMA校验吧!收藏
- LDAP服務器配置
- 《C#编程之道》 之 如何获取汉字的拼音首字母
- 中继器 集线器 网桥 交换机 路由器和网关
- BCD码与十进制之间的转换
- Accessing Spring beans from Quartz jobs