C语言:位运算符总结

位运算符:
1.指对操作数以二进制位( bit)为单位进行的数据处理
2.每一个二进制位只存放0或1
3.

取反:~ 
按位反 ~ 0变1 1变0

~1=0 ~0=1
4.
异或: ^ 相同为0,不相同为1

1^1=0 1^0=1 0^1=1 0^0=1
5.
按位或 | 两个二进制位至少有一个1,结果为1;否则为0(两个二制位都是0结果为0)

1|1=1 1|0=1 0|1=1 0|0=0
6.

按位与 & 两个二进制位都是1结果为1;否则为0

1&1=1 1&0=0 0&1=0 0&0=0

7.
左移 << 丢弃最高位,0补最低位(右边补0)
5<<2(5向左移2位)

分析:0000 0101变为 0001 0100

5 20=5*4=5*2^2

5<<2结果为20

8.右移 >>丢弃最低位 ,0补最高位(左边补0)

5>>2 (5向右移2位)

分析:0000 0101 变为 0000 0001

5 1

所以5>>2结果为1

 

posted @ 2021-06-07 15:40  myrj  阅读(164)  评论(0编辑  收藏  举报