/*
通过位操作实现字母的大小写转化
*/
#include <stdio.h>
unsigned char upandlow(char c)
{
return c ^ 0x20;
//0x20 0010 0000
// ^ 同为0 异为1 任意数与0^ 为原值
// 任意数与1^ 为反值
}
int main(void)
{
unsigned char c;
//0100 0001 65 41 A
//0110 0001 97 61 a
//0010 0000 0x20
//0100 1010 74 4A J
//0110 1010 106 6A j
scanf("%c", &c);
printf("%c转换后为%c\n", c, upandlow(c));
return 0;
}
********************************
a
a转换后为A
E
E转换后为e
通过位操作实现字母的大小写转化
最新推荐文章于 2023-08-17 14:42:32 发布
本文介绍了一种使用位操作来实现字符大小写转换的方法。通过异或运算符'^'与十六进制数0x20进行位操作,可以方便地在大写和小写字母间切换。代码示例展示了如何读取一个字符并打印其转换后的形式。
3041

被折叠的 条评论
为什么被折叠?



