位操作符

位操作有:按位与、按位或、按位异或、按位取反、左移、带符号右移和无符号右移。

1、按位与(&或者and):

  2&3 = 0000 0010 & 0000 0011 = 0000 0010 = 2

2、按位或(|或者or):

  2|3 = 0000 0010 | 0000 0011 = 0000 0011 = 3

3、按位异或(^或者xor):

  2^3 = 0000 0010 ^ 0000 0011 = 0000 0001 = 1

4、按位取反(~或者not):

  ~4 : 二进制原码为:0000 0100 

      原码取反为: 1111 1011

  这时要把1111 1011 转化为补码形式:

  1111 1011 ---->  1000 0100 ---->    1000 0101

  所以得出的结果为-5;

5、左移(<<或者shl):

  4 << 1 = 0000 0100 << 1 = 0000 1000 = 8

  相当于乘以2(2的n次方,n等于要移动的位数)

6、右移(>>或者shr):

  4 >> 1 = 0000 0100 >> 1 = 0000 0010 = 2、

  相当于除以2(2的n次方,n等于要移动的位数)

注:

  1、右移分带符号和不带符号

  2、通常认为位操作比运算要快,左移1位比*2快,右移1位比/2快。

转载于:https://www.cnblogs.com/coolYuan/p/9244816.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值