欢迎光临
我们一直在努力

Java中的移位操作-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

java中的位操作指定包括:& | ~ >> << >>>,前面几个都非常简单,主要是以为操作比较容易出错.

1.<<

逻辑左移,右边补0,符号位和其他位一样.

正数:

x<<1一般相当于2x,但是可能溢出.

溢出范围: 230~(231-1) 二进制表示 010000…000到01111….1111,移位后最高为变为1了,变成负数了.

负数:

x<<1一般也相当于2x,也有可能溢出.

溢出范围: -231~-(230+1)二进制表示10000…000到101111…1111,移位后最高为变成0了,变成正数了.

2.>>

算术右移,和上面的不对应,为正数时左边补0,为负数时左边补1.

x>>1,相当于x/2,余数被舍弃,因为这个是缩小,所以不会溢出.

不过有一点要注意: -1右移多少位都是-1.

另外舍弃的余数是正的, 3>>1=1 舍弃的余数是1.

-3>>1=-2 舍弃的余数也是1,而不是-1.

对于正数 x>>1和x/2相等

对于负数 x>>1和x/2不一定相等.

3.>>>

逻辑右移,这个才是和<<对应的

这个把符号位一起移动,左边补0

对于正数,>>>和>>是一样的

对于负数,右移之后就变成正数了.

可以使用integer.tobinarystring(int i)来看01比特,更加直观.

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Java中的移位操作-JSP教程,Java技巧及代码
分享到: 更多 (0)

相关推荐

  • 暂无文章