[tip]-- 位运算
字符 大小写的转换
- 转小写 | 和空格 (‘a’| ‘') = ‘a’ (‘A’| ‘') = ‘a’
- 转大写 & 和下划线 (‘a’& ‘') = ‘A’ (‘A’& ‘') = ‘A’
- 大小写互转 异或^ 和 空格 (‘a’ ^ ‘') = ‘A’ (‘A’ ^ ‘') = ‘a’
异或(^): 相同为0, 不同为1 –> 不进位加法
x最右边的n位清零 : x & (~0 « n)
获取第n位的值 : (x » n) & 1
获取第n位的幂值 : x & (1 « n)
仅将第n位置1 : x | (1 « n)
仅将第n位置0 : x & (~(1«n))
最高位至第n位清零 : x & ((1«n)-1)
判断奇偶: x&1 == 1 (奇) x&1 == 0 (偶)
x » 1 : x/2
清零最低位的1: x= x&(x-1)
取得最低位的1: x&(-(x-1)
x & ~x =>0