博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的移位运算符
阅读量:6983 次
发布时间:2019-06-27

本文共 555 字,大约阅读时间需要 1 分钟。

移位运算符是在数字的二进制形式上进行平移。主要有左移(<<)、带符号右移(>>)以及无符号右移(>>>)。
左移运算符(<<)的运算规则为:按二进制形式将数字左移相应位数,高位舍弃,低位补零。
带符号右移运算符(>>)的运算规则为:按二进制形式将数字右移相应位数,低位舍弃,高位正数补零,负数补1。
无符号右移运算符(>>>)的运算规则为:按二进制形式将数字右移相应位数,低位舍弃,高位补零。
[java] 
int a=-8; 
System.out.println(a << 2); 
System.out.println(a >> 2); 
System.out.println(a >>> 2); 
输出结果为
-32
-2
1073741822
值得注意的移位运算其实可以看做对类型的位数取余后的移位。java中int是32位,long是64位。比如对int型的数字做左移40位的操作,与左移40%32=8位效果是相同的。若对int型做移位32*n的运算,则相当于什么都没做。
而对于byte、char以及short,在做移位运算时会自动类型转换成int型。因此对于下面的代码,输出为8 8 8 8 0

转载于:https://www.cnblogs.com/yuxin-555xt/p/javayw.html

你可能感兴趣的文章
Struts2文件上传的大小限制问题
查看>>
maven web项目build失败
查看>>
jQuery-1.9.1源码分析系列(六) 延时对象应用——jQuery.ready
查看>>
关于Kingfisher--备用
查看>>
段错误调试神器 - Core Dump详解
查看>>
审计参数 audit_trail
查看>>
linux shell的输出效果修改方法(界面颜色)
查看>>
《TCP/IP具体解释》读书笔记(18章)-TCP连接的建立与中止
查看>>
Matlab Command Window 进度提示
查看>>
利用redis写webshell
查看>>
IO 延迟与Queue Depth
查看>>
IOS 设备信息读取
查看>>
不可重复读和幻读的区别
查看>>
LeetCode_Path Sum II
查看>>
CF 439C(251C题)Devu and Partitioning of the Array
查看>>
更新整理本人全部博文中提供的代码与工具(Java,2014.09)
查看>>
常见的显示器分辨率
查看>>
【Android】12.3 在当前Activity中获取另一个Activity的返回值
查看>>
【云计算】docker的小知识,帮你更深入理解容器技术
查看>>
Dreamweaver PHP代码护眼配色方案
查看>>