一段代码为安身!(2)

来源:互联网 发布:java instance单例 编辑:程序博客网 时间:2024/05/23 00:39
/**coder: H-H.Z**//**date: 12.12.9**/ 
//调试过程中易出现将按位与“|”写错成“||”
#include <stdio.h>void main(void){    unsigned char uData = 0xaa;//1001 1011unsigned char uMask = 0;unsigned char temp=1;unsigned char targetData=0;unsigned i;for(i=1;i<=8;i++){     uMask = uData ^ ((uData >> i) <<i);//右移再左移后末i位一定为0    // printf("%d\n",uMask);     if(temp==uMask) {    uData=uData-temp;             //printf("%x\n", uData); targetData=targetData|(1<<(8-i)); //printf("targetData=%x\n", targetData); } temp=temp*2;// printf("temp=%d\n",temp); }      uData=targetData;     printf("targetData=%x\n", uData);//%x表示为uData为十六进制表示。} //采用移位处理和异或处理,较高效
	
				
		
原创粉丝点击