常用的位运算
作者:互联网
功能 | 示例 | 位运算 |
去掉最后一位 | (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