网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java基础 JSP网站开发环境的目录.
.各种数据库连接代码.
.讲述J2EE系统优化的几点体会.
.Java 中 this 的使用.
.Webwork将加入Struts.
.如何将Java应用程序本地编译为EXE.
.关于Editor和Renderer的一点认识.
.java设计模式之Bridge(抽象和行为.
.J2EE应用部署(三):高级篇.
.MVC 构架学习之渐行渐进(四).
.程序员的.NET时代(2).
.对比两个不同版本的assertEquals.
.用Java增加一个XSLT功能.
.程序员应用EJB 3.0必要的准备.
.比较JAVA的两个设备访问API.
.Java动画编程基础第四部分.
.捕获音频及输出音频.
.Robocode 高手的秘诀:因数避墙法.
.Java核心代码例程之:StringBuff.
.java编程:关于对Vector的一点理.

Java中的移位操作

发表日期:2008-1-5



  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比特,更加直观.
上一篇:JAVA中的数组研究 人气:837
下一篇:java中的字节码 人气:1091
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐