位操作,大写字母转成小写字母,小写字母转成大写字母

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

#include <stdio.h>
void main ()
{
	//不懂是谁发现的,大写字母和小写字母在二进制位上只相差一位
	//大写字母二进制位的第6位为0
	//小写字母二进制位的第6位为1

	//位或操作,大写变小写
	//或操作可以将指定的二进制位变为1
	int n;
	__asm mov n,00100000B //VC不能直接表示二进制,只好这样转换了。
	for(char c='A';c<='Z';c++)
	{
		//| 按位或运算符。
		printf("%c ",c|n);//c or 00100000   //n=32
	}
	printf("或操作,大写变小写\n");

	//位与操作,小写变大写
	//与操作可以将指定的二进制位变为0
	__asm mov n,11011111B //VC不能直接表示二进制,只好这样转换了。
	for(char x='a';x<='z';x++)
	{
		//| 按位或运算符。
		printf("%c ",x&n);//c or 11011111  //n=223
	}
	printf("与操作,小写变大写\n\n");
	printf("把某二进制位变为1,用或操作。\n");
	printf("把某二进制位变为0,用与操作。\n");

}


posted @ 2014-11-28 00:32  gasxia  阅读(526)  评论(0编辑  收藏  举报