C语言当中的位运算
一、位运行运算符
~:按位求反
<<:左移
>>:右移
&:位与
^:异或
|:位或
二、按位求反
按位求反
原理:将对应的其他进制的数字转换为二进制, 把0变成1,把1变成0
计算机当中二进制数在内存中以补码的形式存储
注意:另外,正数的原码、补码和反码都相同
负数的反码与原码符号位相同,数值为取反;
补码是在反码的基础上加1
举例:
三、左移 :<<
原理:把数字向左移动,右边补0
举例:1 0 0 0 1 << 2
0 0 1 0 0
四、右移:>>
原理:把数字向右移动,左边补0
举例: 1 0 0 0 1 >> 2
——— 0 0 1 0 0
五、位与(&)
原理:按照并且关系进行相应的运算
举例:
六、^:按异或
原理:相同为0,不同为1、
举例:
七、按位或( | )
原理:按照或者的关系进行相应的运算
举例:
优先级别: