/*
大写 十六进制 二进制 小写 十六进制 二进制
A 41 01000001 a 61 01100001
B 42 01000010 b 62 01100010
C 43 01000011 c 63 01100011
D 44 01000100 d 64 01100100
E 45 01000101 e 65 01100101
F 46 01000110 f 66 01100110
. . . . . .
. . . . . .
. . . . . .
原理:大写字母的ASCII码的第五位为0,小写字母的第五位为1;
用小写字母与0xDF(11011111)相与,及把第五位变为0;
用大写字母与0x20(00100000)相或,及把第五位变为1;
*/
#include<iostream>
using namespace std;
int main(void)
{
string lower="i Love You";
string upper="JUST FOR YOU";
cout<<lower<<endl<<upper<<endl;
for(int i=0;i<lower.length();i++)
{
lower[i]&=0xdf;
}
for(int i=0;i<upper.length();i++)
{
upper[i]|=0x20;
}
cout<<lower<<endl<<upper<<endl;
return 0;
}