异或是位运算,当且仅当两边不同时为真
即
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
posted on 2020-09-03 21:27 aiyi0325 阅读(178) 评论(0) 收藏 举报