Java中>>和>>>移位操作符的区别
来源:互联网 发布:js中currenttarget 编辑:程序博客网 时间:2024/06/05 01:20
大家都知道>是比较两个对象的大小,那>>和>>>的区别呢?
>>和>>>都是移位操作;对正数的移位操作它们的功能都是一样的,如下:
其实就是将15除于4,得到的商。转换为二进制可能更直观(为了方便,下面的二进制操作我们都是以八位进行的,而不是32位):
对正数的操作它们的效果都是一样的,那么对于负数的移位是否也是一样呢?看下面例子就知道了:
怎么会是这样的?负数的移位操作怎么变成正数了?同样我们将上面的式子转换为二进制来看看。首先我们得知道,在计算机中,负数是以补码的形式存储的(补码不知道?那你自己去好好学习点基础知识吧!)-15的补码是11110001,所以上面的操作转换为二进制如下所示:
根据上面的结果,我们可以清楚的看出:
1、当移位的数是正数的时候,>> 和>>>效果都是一样的;
2、当移位的数是负数的时候,>>将二进制高位用1补上,而>>>将二进制高位用0补上,这就导致了>>>将负数的移位操作结果变成了正数(因为高位用0补上了)。
2、当移位的数是负数的时候,>>将二进制高位用1补上,而>>>将二进制高位用0补上,这就导致了>>>将负数的移位操作结果变成了正数(因为高位用0补上了)。
本博客文章除特别声明,全部都是原创!
尊重原创,转载请注明: 转载自过往记忆(http://www.iteblog.com/)
本文链接地址: 《Java中>>和>>>移位操作符的区别》(http://www.iteblog.com/archives/740)
E-mail:wyphao.2007@163.com
0 0
- Java中>>和>>>移位操作符的区别
- Java中>>和>>>移位操作符的区别
- Java中移位的操作
- java中移位操作
- Java中移位操作符的运算规则
- Java中基本成员默认值+计算机中负数的表示+按位操作符和移位操作符
- Java的移位操作
- Java的移位操作
- Java的移位操作
- Java移位操作符
- java移位操作符
- Java移位操作符
- java移位操作符
- Java移位操作符
- Java | 移位操作符
- java 移位运算符中<<和>>运算
- java 按位操作符和移位操作符
- Java的移位操作(转载)
- 高权重网站打造计划之USER需求原理
- iMatrix平台中组织结构树标签(Ztree实现)用法
- 黑马程序员_反射
- POJ2679 SPFA求负环
- IIS7.0应用程序 .NET信任级别的区分
- Java中>>和>>>移位操作符的区别
- 详解Objective-c Block应用(转载,讲的很好)
- 转载_纯C日志函数iLOG3
- 闪盘小偷(MFC源码)
- 最小费用最大流
- CVBS视频信号解析
- 程序员常去的14个顶级开发社区
- android 通过linux命令来停止某个进程
- java HTTP文件断点上传