java & , << , >>符号用例详解

1. & 与运算
即求两数的补码,同一位置都为1取同1,其他情况取 0,(补码符号位不变)。
如果运算结果符号位为1,则需要对运算结果进行求补码操作,为0不做操作。

空格隔开的10是符号位
例如: 2&3 = 2
2 的二进制补码为 0 10
3 的二进制补码为 0 11
运算结果为0 102

例如: -2&-3 = -4
2 的二进制原码为 1 10  补码为 1 10
3 的二进制原码为 1 11  补码为 1 01
与运算后为1 00 ,符号位为1求其补码
求补码为1 100-4

例如: 19&-12 = 16
19 的二进制补码为0 10011
12 的二进制原码为1 01100  补码为1 10100
运算结果为0 1000016

2. << 按位左移运算符

即将十进制数转化为二进制后,左移
m<<n,为m的二进制左移n位

例如:2<<1 = 4
2 的二进制为 10
左移一位为 100 即为 4

例如:2<<2 = 8
2 的二进制为 10
左移两位为 1000 即为 8

例如:3<<2 = 12
3 的二进制为 11
左移两位为 1100 即为 12

例如:3<<3 = 24
3 的二进制为 11
左移三位为 11000 即为 24

3. >> 按位右移运算符

即将十进制数转化为二进制后,右移
m>>n,为m的二进制右移n位

例如:2>>1 = 1
2 的二进制为 10
右移一位为 1 即为 1

例如:8>>2 = 2
8 的二进制为 1000
右移两位为 10 即为 2

例如:19>>3 = 2
19 的二进制为 10011
右移三位为 10 即为 2

例如:19>>2 = 4
19 的二进制为 10011
右移两位为 100 即为 4
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值