C++位运算

C++位运算

运算符

& 按位与
如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
| 按位或
两个相应的二进制位中只要有一个为1,该位的结果值为1
^ 按位异或
若参加运算的两个二进制位值相同则为0,否则为1
~ 取反
~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1
<< 左移
用来将一个数的各二进制位全部左移n位,低位以0补充,高位越界后舍弃
>> 右移
将一个数的各二进制位右移N位,移到右端的低位被舍弃,高位以符号位填充

运算符优先级

加减 移位 比较大小 位与 异或 位或
+,- <<,>> >,<,==,!= & ^

举例

1100011 1100011 1100011
& 1000010 1000010 ^ 1000010
1000010 1100011 1011110
1100011 1100011 1100011
~ 0011100 <<1 1000110 >>1 0110001

你可能感兴趣的:(c++,开发语言)