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

最新文章

  1. requests 快速入门
  2. JMS基本概念和模型
  3. iOS Objective-C对象模型及应用
  4. TatukGIS - GisDefs - DateTimeToXMLString 函数
  5. Unity3d 跑酷游戏 之Character Controller篇
  6. Mac OSX系统安装和配置Zend Server 6教程(2)
  7. 给 endv 取个好名字有赏!
  8. python sklearn PCA源码阅读:参数n_components的设置(设为‘mle’出错的原因)
  9. keras &amp; tensorflow 列出可用GPU 和 切换CPU &amp; GPU
  10. Spring MVC 原理探秘 - 容器的创建过程
  11. unity2d开发windows phone游戏按钮问题
  12. CSS cursor 属性改变鼠标的样式
  13. Laravel上传产品图片Uploading img
  14. Linux 索引节点(inode)详解
  15. 并发基础(四) java中线程的状态
  16. 【Unity】2.4 层次视图(Hierarchy)
  17. java多线程3种方式
  18. TCP/IP的相关协议
  19. Python 串口通信 GUI 开发
  20. 三、直播整体流程 五、搭建Nginx+Rtmp直播流服务

热门文章

  1. python3基础10(操作日志)
  2. RF的一些技术知识
  3. git图形管理工具
  4. UML复习1-2章
  5. linux 命令——10 cat (转)
  6. SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
  7. Android(java)学习笔记76:Handler用法总结 和 秒表案例
  8. Problem J: 搜索基础之红与黑
  9. 交叉验证(Cross Validation)方法思想简介
  10. ubuntu web server ipython notebook install