ACM_位运算

  1. ~取反,0取反是1,1取反是0
  2. <<是左移,比如1<<3,表示1往左移3位,即乘2的3次方
  3. >>右移,类似左移,数值大小除以2的n次方,例如:如6>>1就是把00000110右移一位变为00000011,结果是3
  4. &按位与,1与任意数等于任意数本身,0与任意数等于0,即1&x=x,0&x=0
  5. |按位或,x|y中只要有一个1则结果为1
  6. ^按位异或,x^y相等则为0,不等则为1

所有数值必须转换为二进制数才能位运算,每一位数相对应运算
位操作优先级比加减低!!!
用途:

  1. 二进制取位操作: 例如一个数 & 1 的结果就是取二进制的最末位。
  2. 判断奇偶: x&1==0为偶,x&1==1为奇。
//取二进制的最末位
#include<iostream>
using namespace std;
int main()
{
    int a=6;
    a=a&1;//二进制取末位 
    cout<<a;
} 
 //判断奇偶
 #include<iostream>
using namespace std;
int main()
{
    int a=6;
    a=a&1;
    if(a==0) cout<<"偶"<<endl;
    else if(a==1)cout<<"奇"<<endl;
} 

猜你喜欢

转载自blog.csdn.net/aaakkk_1996/article/details/79337943