其他分享
首页 > 其他分享> > 常用的位运算

常用的位运算

作者:互联网

功能 示例 位运算
去掉最后一位 (101101->10110) x>>1
在最后加一个0 (101101->1011010) x<<1
在最后加一个1 (101101->1011011) x<<1+1
把最后一位变成1 (101100->101101) x|1
把最后一位变成0 (101101->101100) x|1-1
最后一位取反 (101101->101100) x^1
把右数第k位变成1 (101001->101101, k=3) x|(1<<(k-1))
把右数第k位变成0 (101101->101001, k=3) x&~(1<<(k-1))
右数第k位取反 (101001->101101, k=3) x^(1<<(k-1))
取末三位 (1101101->101) x&7
取末k位 (1101101->1101, k=4) x&(1<<k-1)
取右数第k位 (1101101->1, k=4) x>>(k-1)&1
把末k位变成1 (101001->101111,k=4) x|(1<<k-1)
末k位取反 (101001->100110,k=4) x^(1<<k-1)
把右边连续的1变成0 (100101111->100100000) x&(x+1)
把右起第一个0变成1 (100101111->100111111) x|(x+1)
 取右边连续的1  (100101111->1111) (x^(x+1))>>1
 去掉右起第一个1的左边  (100 101000->1000) x&(x^(x-1))

 

 

 

标签:常用,运算,101101,101100,取反,变成,100101111,101001
来源: https://www.cnblogs.com/RANDOM666/p/12820291.html