C语言字母大小写互换的简单方法
来源:互联网 发布:知乎周刊第一本 编辑:程序博客网 时间:2024/06/05 17:26
字母的大小写互换其实很简单
回到最基本的数据的存储形式,从八位二进制角度去看大写字母和小写字母,你会发现它们的低四位是相同的,高四位有细微差别。
举例:
仔细观察 发现是第六位不同!
大小写互换的方法
- 考虑到低四位完全相同 只用互换高四位的第六位就可以实现大小写互换
互换高四位的某一位而不改变低四位,我们联想到位运算中的按位异或
^
关于按位异或 详见按位异或由按位异或的知识,我们可以寻找一个数,使得任意的一个八位二进制数与它进行异或操作后,高四位的第六位01取反,低四位不变
回顾我们的目标 假如把
'A'
变为'a'
我们需要把01000001
变为01100001
,也就是把第六位的0
变为1
。我们找到这个数了!它的二进制是
00100000
十进制是32
01000001^00100000=01100001
,是不是很神奇?同理把小写字母'a'
变为'A'
也只需要把它与32进行按位异或操作就可以啦~
#include<stdio.h>int main(){ int i; char s[100]; //读入字符串 gets(s); for(i=0;s[i]!='\0';i++) { if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z')) s[i]^=32;//核心语句,实现字符串中字母的大小写互换 } printf("%s",s); return 0;}
样例输入->
Hello,Java!
样例输出->
hELLO,jAVA!
有没有很神奇呢!
欢迎关注我的博客 后续慢慢加入新内容,谢谢!
我的博客主页
阅读全文
2 0
- C语言字母大小写互换的简单方法
- 字母的大小写互换
- C语言编程:大小写互换
- C语言实现大小写字母的转换
- C语言 大小写字母的替换
- C语言(字母大小写的转换)
- 大小写字母互换
- 14:大小写字母互换
- 14.大小写字母互换
- 【c语言】大小写字母转换
- C语言大小写字母转换
- C语言编程:字母大小写转换以及求字符串长度的两种方法
- (c语言)字符的大小写字母的转化
- (c语言)字符串的大小写字母转化函数
- 用C语言编程实现大小写字母的转换
- 1047 单个字母大小写互换
- word切换字母大小写,互换,的快捷键 shift+f3
- C语言基础 字母大小写转换
- C语言:分苹果问题
- 【JSP Web】01 JSP技术基础
- 6.笔记 MySQL学习——通过脚本创建表
- leetcode题解-49. Group Anagrams
- Mechanism of Android while Passing File Descriptor through Binder
- C语言字母大小写互换的简单方法
- 7.笔记 MySQL学习——向表中添加行
- 点击Echarts饼图生成动态Table
- 产品可靠性测试用例1
- C++:复数相加
- 软件工程(C编码实践篇)学习总结
- 【NOIP2000】T4方格取数
- 一看就明白的爬虫入门讲解:基础理论篇
- C语言-函数实现模块化设计-函数的递归调用