按位運算符對整數值得位進行操作。
1. 移位運算符
1.1 左移運算符(<<)
- 騰出的位置用0填充,超出的位被丟棄。
- 左移n位相當於乘以2的n次方
int x = 20;
int y = x << 2;
x <<= 3;
- 對於無符號整數,騰出的位置用0填充,超出邊界的位被刪除。
- 對於有符號整數,騰出的位置可能用0填充,也可能用原來最左邊的位填充,這取決於C++實現。
- 右移n位相當於除以2的n次方。
int q = 30;
int y = q >> 2;
q >>= 3;
int a = 2,b = 5;
int c = a | b;
a |= b;
int a = 20,b = 34;
int c = a ^ b;
a ^= b;
int a = 20,b = 30;
int c = a & b;
int a &= b;