功能 示例 位运算
去掉最后一位 (101101->10110) x >> 1
把最后一位变成1 (101100->101101) a | 1
把最后一位变成0 (101101->101100)a| 1-1 a| 1-1
最后一位取反 (101101->101100)a^ 1 a^ 1
把右数第n位变成1 (101001->101011,n=2)a| (1 < < (n-1)) a| (1 < < (n-1))
把右数第n位变成0 (101101->100101,n=4)a& ~ (1 < < (n-1)) a& ~ (1 < < (n-1))
右数第k位取反 (101001->100001,n=4)a^ (1 < < (n-1)) a^ (1 < < (n-1))
取末三位 (1101101->101)a& 7 a& 7
取末n位 (1101101->1101,n=5) a& ((1 <<n) - 1)
取右数第n位 (1101101->1,n=4) a>> (n-1) & 1
把末n位变成1 (101001->101111,n=4) a|(1 <<n-1)
末n位取反 (101001->100110,n=4) a^ (1 << n-1)
把右起第一个0变成1 (100101111->100111111) a| (a+1)
把右边连续的0变成1 (11011000->11011111) a| (a-1)
判断奇数 (a&1)==1
判断偶数 (a&1)==0
注:不喜勿喷!!!