Java的移位运算符
2024-10-21 09:28:28
1、左移运算符:<<
丢弃左边指定位数,右边补0。
注意:
当int类型进行左移操作时,左移位数大于等于32位操作时,会先求余(%)后再进行左移操作。也就是说左移32位相当于不进行移位操作,左移40位相当于左移8位(40%32=8)。当long类型进行左移操作时,long类型在二进制中的体现是64位的,因此求余操作的基数也变成了64,也就是说左移64位相当于没有移位,左移72位相当于左移8位(72%64=8)。
其它几种整形byte,short移位前会先转换为int类型(32位)再进行移位。
2、右移运算符:>>
丢弃右边指定位数,左边补上符号位。
注意:
和左移一样,int类型移位大于等于32位时,long类型大于等于64位时,会先做求余处理再位移处理,byte,short移位前会先转换为int类型(32位)再进行移位。
3、无符号右移运算符:>>>
丢弃右边指定位数,左边补上0。
无符号右移运算符>>>和右移运算符>>是一样的,只不过右移时左边是补上符号位,而无符号右移运算符是补上0,也就是说,对于正数移位来说,>>>等同于>>,负数通过此移位运算符能移位成正数。
转自:https://zhuanlan.zhihu.com/p/30108890
最新文章
- requests 快速入门
- JMS基本概念和模型
- iOS Objective-C对象模型及应用
- TatukGIS - GisDefs - DateTimeToXMLString 函数
- Unity3d 跑酷游戏 之Character Controller篇
- Mac OSX系统安装和配置Zend Server 6教程(2)
- 给 endv 取个好名字有赏!
- python sklearn PCA源码阅读:参数n_components的设置(设为‘mle’出错的原因)
- keras &; tensorflow 列出可用GPU 和 切换CPU &; GPU
- Spring MVC 原理探秘 - 容器的创建过程
- unity2d开发windows phone游戏按钮问题
- CSS cursor 属性改变鼠标的样式
- Laravel上传产品图片Uploading img
- Linux 索引节点(inode)详解
- 并发基础(四) java中线程的状态
- 【Unity】2.4 层次视图(Hierarchy)
- java多线程3种方式
- TCP/IP的相关协议
- Python 串口通信 GUI 开发
- 三、直播整体流程 五、搭建Nginx+Rtmp直播流服务