(num + 1)^1 - 1的作用

文章解释了通过二进制异或操作的原理,说明奇数和偶数在表达式中的行为:奇数异或1等于加1,偶数异或1等于减1,关键在于二进制权值的奇偶性决定结果。
摘要由CSDN通过智能技术生成

此时该表达式的作用如下
n: 1 2 3 4 5…
表达式值 2 1 4 3 6…
该规律为如果num为奇数则执行num= num+1
如果式偶数则为num = num - 1操作
(num + 1) ^ 1 - 1:此时如果num为奇数此时执行结果为偶数^1结果肯定为偶数加1操作,因为如果一个数为偶数,其二进制值权值最低的位一定为0,反之如果是奇数,其权值最低的位一定为奇数.

原理:此时二进制权值分别代表的数分别为1,2,4,8,… , n2。此时一个数的表示位=各位基数指定权值的和相加,此时二进制可以简化理解为二进制数就是由各位权值的值拼凑而来,即可以从权值的数中取某一些数,但是每个数只能取1次,试想一下,此时只有1为奇数,其余的都为偶数,所以如果最终的数为奇数,此时必定没有取1这个数,所以对应的权值最低位肯定为0。如果为奇数则权值最低位肯定为1。由此性质,偶数异或1=该数+1,奇数异或1=该数-1

故此时有

  • n为奇数则表达式值为n+1
  • n为偶数则表达式值表示n-1.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值