首页 > 其他 > 详细

位运算

时间:2020-04-30 13:10:05      阅读:40      评论:0      收藏:0      [点我收藏+]

转载(来自我好友):https://xiaolei565.github.io/2020/04/20/Algorithm--Bit%20Operation/

位运算

 

算法–位运算

概念

 符号描述运算规则
  & 两个位都为1时,结果才为1
  \ 两个位都为0时,结果才为0  
XOR ^ 异或 两个位相同则为0,相异为1
  ~ 取反 0变1,1变0
  << 左移 各二进位全部左移若干位,高位丢弃,低位补0
  >> 右移 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

异或操作的一些特点

1
2
3
4
5
6
X^0=X
X^1s = ~X //1s = ~0(1s表全1的数)
X^(~X) =1s
X^X = 0 //important
a^b =c=>a^c=b,b^c=a //swap
a^b^c = a^(b^c)=(a^b)^c//结合律

实战中常用位运算操作

  • X&1==1 OR ==0 =>判断奇偶(x%2==1)
  • x=x&(x-1)=>清零最低位的1
  • X&-X=>得到最低位的1
  • 将x最右边的n位清零-x&(~0<<n)
  • 获取x的第n位值(0或者1)-(x>>n)&1
  • 获取x的第n位的幂值-x&(1<<(n-1))
  • 仅将第n位置为1-x |(1<<n)
  • 仅将第n位置为0-x &(~(1<<n))
  • 将x最高位至第n位(含)清零-x &((1<<n)-1)
  • 将第n位至第0位(含)清零-x &(~((1<<(n+1))-1))
 

位运算

原文:https://www.cnblogs.com/zhihaospace/p/12808040.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!