绝密笔记 | 【优化】比特(Bit)运算 【位运算】

先来说说基础的

  • <<左移
  • >>右移
  • &按位与
  • &按位或
  • &按位非

这些的话不懂就自行百度意义

1.判断奇偶性

bool isJi(int x){
   if(x&1) return true;
   return flase;
}

2.字母大小写转换

char ch='a';
ch^=32;

3.^运算的性质

  • 交换律
  • 结合律
  • 自反性:a^b^b=a;

4.交换变量

void swap(int &a,int &b){
a^=b^=a^=b;
}

5.判断是否为2的n次方

bool check(int k){
  return !(k&(k-1));
}

6.-x==(~x+1)

7.lowbit(x)

#dedfine lowbit(x) x&-x//取出一个数二进制的低位 常用于树状数组

8.求平均数

待更新,准备期末考试了,后面更新…

正文完