1. 程式人生 > >C/C++ 位運算 常見作用總結

C/C++ 位運算 常見作用總結

按位與 &

  • 快速清零
int a=0x0001;
a&=0;     //a : 0x0000
  • 保留指定位
int a=0x0111;
int b=0x0010;

a=a&b;    //a : 0x0010 
  • 判斷奇偶
int a=2;
int b=3;
//與1按位與
a=a&1;     // a: 0   偶數值為0 
b=a&1;     //b : 1   奇數值為1

按位或 |

設定指定位的資料

int a=0x0001;
int b=0x0010;

int c=a|b;   //c:  0x0011  

按位異或

  • 給某一位取反
int a=0x0100
; int b=0x0010; int c=a^b; //c: 0x0110
  • 交換數值
a=a^b;
b=b^a;
a=a^b;

左移 右移

左移 相當於 原值*2的N次

右移 相當於 原值/2的N次

其他的一些用法 可以
參考這篇部落格