其他分享
首页 > 其他分享> > 异或

异或

作者:互联网

异或是位运算,当且仅当两边不同时为真

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