一些特殊的位运算
本文最后更新于 1394 天前,其中的信息可能已经有所发展或是发生改变。

异或:

1.二进制运算时,相同为0,不同为1

2.整数自己和自己异或时得0

3.任意整数与0异或时得整数本身

从而实现两变量在无中间变量的情况下的交换(int):

a=a^b;

b=a^b;

a=a^b;

x & -x:

保留二进制数最后一位出现1的位置,其余位置0;

具体证明可用奇偶数分别验证;

x&(x-1):

消除二进制数最后一位出现1的位置,其余位不变;

上一篇
下一篇