异或是位运算,当且仅当两边不同时为真
即
1^1 = 0^0 = 0;
1^0 = 0^1 = 1;
用法:
1. 判断二进制数中1的个数
例如:
a = 1010,利用a ^= (a - 1)每次能去掉最右边那个1,循环n次a ^= (a - 1) 后a 就会等于0000即a=0, 则原来a中一共有n个1
2.偶数+1,奇数-1
a = 0, b = 9;
a ^= 1
b ^= 1
输出a = 1, b = 8
标签:0000,二进制,当且,异或,1010,数中
来源: https://www.cnblogs.com/Z-aiyi/p/13610777.html