【优化】比特(Bit)运算 【位运算】

2023-01-03 16:14:23 浏览数 (1)

先来说说基础的

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

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

1.判断奇偶性

代码语言:javascript复制
bool isJi(int x){
   if(x&1) return true;
   return flase;
}

2.字母大小写转换

代码语言:javascript复制
char ch='a';
ch^=32;

3.^运算的性质

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

4.交换变量

代码语言:javascript复制
void swap(int &a,int &b){
a^=b^=a^=b;
}

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

代码语言:javascript复制
bool check(int k){
  return !(k&(k-1));
}

6.-x==(~x 1)

7.lowbit(x)

代码语言:javascript复制
#dedfine lowbit(x) x&-x//取出一个数二进制的低位 常用于树状数组

8.求平均数

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

0 人点赞