xwill

To be double-cool

03 Jan 2021

[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