读书人

数据放零置一和翻转

发布时间: 2013-07-30 12:05:31 作者: rapoo

数据置零置一和翻转

利用逻辑或,可将需要的某几位置一:

x = 0xabab;

y = 0xff00;

z = x | y;

结果:z = 0xffab;

?

利用逻辑与,可将需要的某几位置零,使用逻辑与要注意变量占几个字节:

x = 0xabab;

y = 0xffffff00;

z = x & y;

结果:z = 0xab00;

右移再左移也可以达到这个效果:z = x >> 4 << 4;

?

利用异或,可将数据翻转,一定要注意变量占用字节数:

异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0(同为0,异为1)

x?= 0xff00;

y = 0x0000ffff;

z = x ^ y;

结果:z = 0x00ff;

读书人网 >编程

热点推荐