版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012725164/article/details/89294076
点击查看视频讲解
双元位运算符:
<<:左移运算符 将运算数的二进制码整体左移指定位数,左移之后右边的空位使用“0”来补充,左边移出去的二进制数忽略不计。
>>:右移运算符 将运算数的二进制码整体右移指定位数,右边移出去的二进制数忽略不计。 左边的空位使用“符号位”来补充:若是正数使用“0”补充;若是负数使用“1”补充;
>>>:无符号右移运算符 将运算数的二进制码整体右移指定位数,右移之后的左边的空位使用“0”来补充
&:按位与 相同二进制数位上数值为1,结果为1,否则结果为0;
|:按位或运算,运算原则:相同二进制数位上数值为0,结果为0,否则结果为1;
^:按位异或,运算原则:参与运算的两个数相应位相同则结果为0,异号则为1;
使用按位异或运算,可以方便的实现两个数字的交换;
int a = 5, b = 7;
int c = a ^ b ;
a = c ^ a ; a = 7
b = c ^ a ; b = 5;
作业:使用不同的方式实现两个整数的交换;
一元位运算符:
~:按位取反 :二进制数位上0变1,1变0;