[位运算]异或运算^、与运算&

一 异或运算 ^

1. 任意数和0异或都是原来的数:

a ^ 0 = a;

2. 任意数与自己异或都等于0:

a ^ a = 0;

3. 满足交换律和结合律:

a ^ b ^ a = a ^ a ^ b = 0 ^ b = b;

4. 0 与1 的异或,相同为0,相反为1:

1 ^ 1 = 0;
1 ^ 0 = 1;
0 ^ 1 = 1;
0 ^ 0 = 0;

二  与运算 &

1. 任意的二进制x,与0&都等于0;与1&都等于本身

x & 0 = 0;
x & 1 = x;
// true为1 ,false为0;

位运算速度远大于取模运算,算法题时可以替换使用!

x & 1  等价于  x % 2 == 1
// x如果是偶数,
// 左边式子,x二进制最后一位就是0,  0 & 1 = 0 , 0 是false,左边式子为false
// 右边式子,x是偶数%2 为0 ,0 != 1,右边式子也为false;  左右式子等价

// x如果是奇数
// x如果是奇数,二进制最后一位就是1,1 & 1 = 1,1为true,后面以此类推

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值