异或运算

异或运算法则

  1. a ^ b = b ^ a (对称性)
  2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c; (结合性)
  3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.

  4. a ^ b ^ a = b=a^a^b. (可交换)

异或运算的性质(i think):

1. 0^a=a, a任意整数

2.1^even=even+1;

3.1^odd=odd-1;

4. a^b=1, 其中 a、b!=1,且 a、b连续

典型应用

1、交换两个变量的值,不借用第三个变量

a=a^b;

b=a^b;

a=a^b;

2、求sum=1^2^3^4.....^n

解:2.1 如果 n为奇数,则 一共有 2^3,4^5,.....,(n-1)^n 对数满足异或性质4,则有n/2 对,即n/2个 1;所有一共有n/2+1个1 求异或;

       2.2 如果n为偶数,则 一共有  2^3,4^5,.....,(n-2)^(n-1) 对数满足异或性质4,则有(n-1)/2 对,即(n-1)/2个 1;所有一共有

(n-1)/2+1个1 求异或;最后在异或n;

               

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值